JavaRush /จาวาบล็อก /Random-TH /คอฟฟี่เบรค #135. 5 วิธีในการแปลงไฟล์เป็นสตริงใน Java วิธี...

คอฟฟี่เบรค #135. 5 วิธีในการแปลงไฟล์เป็นสตริงใน Java วิธีเปลี่ยนอาร์กิวเมนต์บรรทัดคำสั่งใน Java

เผยแพร่ในกลุ่ม

5 วิธีในการแปลงไฟล์เป็นสตริงใน Java

ที่มา: สื่อ คอฟฟี่เบรค #135.  5 วิธีในการแปลงไฟล์เป็นสตริงใน Java  วิธีเปลี่ยนอาร์กิวเมนต์บรรทัดคำสั่งใน Java - 1วันนี้เราจะพูดถึง 5 วิธีที่เรียบง่ายและผ่านการพิสูจน์แล้วในการอ่านหรือแปลงไฟล์เป็นสตริงใน Java การเลือกวิธีการที่เหมาะสมที่สุดสำหรับคุณนั้นขึ้นอยู่กับการกำหนดค่าของโครงการเฉพาะ ขั้นแรก สมมติว่าinputStreamเป็นตัวแปรประเภท InputStream
InputStream inputStream;
ตอนนี้เรามาดูวิธีการแปลงต่างๆ กัน

1. การใช้แพ็คเกจไฟล์ Java 1.11+ ในตัว:

import java.nio.file.Files;
import java.nio.file.Path;
String result = Files.readString(Path.of("filePath"));

//Bonus: To Write string to a file you can use
String content = "Demo Content";
Files.writeString(filePath, content);
วิธีนี้ใช้ได้กับ Java 1.11+

2. การใช้แพ็คเกจ Streams Java 1.8+ ในตัว:

String result =  new  String( Files.readAllBytes ( Paths.get ( filePath )),          StandardCharsets.UTF_8 ) ;
วิธีนี้ใช้ได้กับ Java 1.8+

3. สแกนเนอร์ Java ของตัวเอง:

try (Scanner scanner = new Scanner(Paths.get(fileName), StandardCharsets.UTF_8.name())) {
    String result = scanner.useDelimiter("\\A").next();
}
โปรดทราบว่า\Aแสดงถึงรูปแบบนิพจน์ทั่วไปสำหรับเมธอด useDelimiter ของเครื่อง สแกน \Aหมายถึง: :start ของสตริง! (จุดเริ่มต้นของบรรทัด!) ดังนั้นเมื่อใช้รูปแบบนี้ สตรีมทั้งหมดก็พร้อมที่จะใช้ในออบเจ็กต์สแกนเนอร์

4. วิธีการ Apache commons-io IOUtils:

File file = new File("data.txt");
String result = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
วิธีการนี้จำเป็นต้องติดตั้งไลบรารี Apache commons-io ในโปรเจ็กต์ของคุณ คุณสามารถค้นหาได้ที่ลิงค์จาก maven

5. การใช้ห้องสมุด Google Guava:

String result = Files.toString(new File(path), Charsets.UTF_8);
การใช้วิธีนี้จะถือว่าโครงการของคุณมีไลบรารี Guava อยู่แล้ว คุณสามารถค้นหาได้โดยใช้ลิงก์จาก maven หากคุณต้องการทดลองกับInputStreams จริง โดยไม่ต้องใช้วิธีอรรถประโยชน์ใดๆ ให้ใช้วิธีนี้

วิธีเปลี่ยนอาร์กิวเมนต์บรรทัดคำสั่งใน Java

ที่มา: DZone ในบทความนี้ คุณจะได้เรียนรู้วิธีเปลี่ยนอาร์กิวเมนต์บรรทัดคำสั่งใน Java วิธีการส่งผ่าน และวิธีการทำงาน คุณจะตรวจสอบได้อย่างไรว่าโค้ดของคุณปราศจากข้อผิดพลาดและจัดการคำขอทั้งหมดได้อย่างไร วิธีที่ง่ายที่สุดคือการทดสอบกับกรณีทดสอบทุกช่วงที่เป็นไปได้ อย่างไรก็ตาม การทำแบบทดสอบเหล่านี้อาจใช้เวลานานและต้องใช้แรงงานมาก เราต้องการวิธีอื่นที่สามารถทำสิ่งนี้ได้อย่างง่ายดาย ไม่ยุ่งยาก และเป็นอัตโนมัติมากกว่า อาร์กิวเมนต์บรรทัดคำสั่ง Java เป็นวิธีหนึ่งในการแก้ปัญหาของเรา ช่วยให้กระบวนการทดสอบและดีบักง่ายขึ้นอย่างมาก
// here args will hold the command line arguments
    public static void main(String[] args) {
        System.out.println("Hello World!");
        // remaining code will go here
    }

อาร์กิวเมนต์บรรทัดคำสั่งคืออะไร?

อาร์กิวเมนต์บรรทัดคำสั่ง Java เป็นวิธีการป้อนข้อมูลลงในโปรแกรมผ่านทางบรรทัดคำสั่ง โปรแกรมเมอร์สามารถส่งผ่านข้อโต้แย้งเหล่า นี้ได้โดยตรงจากคอนโซล ซึ่งจะเข้าถึงได้โดย เมธอด main() หากจำเป็น คุณสามารถละเว้นอาร์กิวเมนต์บรรทัดคำสั่ง ได้ โดยส่งค่าโดยตรงไปยัง เมธอด main()

อาร์กิวเมนต์บรรทัดคำสั่งทำงานอย่างไร

อาร์กิวเมนต์บรรทัดคำสั่งจะถูกห่อและส่งผ่านไปยังargs[ ] นี่คืออาร์เรย์ของสตริงที่มีอาร์กิวเมนต์บรรทัดคำสั่งทั้งหมดที่ส่งผ่านไป แต่ละอาร์กิวเมนต์จะถูกจัดเก็บตามดัชนี เริ่มต้นจากargs[0]ถึงargs[n ]

อาร์กิวเมนต์บรรทัดคำสั่งถูกส่งผ่านอย่างไร

อาร์กิวเมนต์บรรทัดคำสั่งถูกส่งผ่านบรรทัดคำสั่งหรือเทอร์มินัล อาร์กิวเมนต์ทั้งหมดที่ส่งผ่านจะถูกแปลงและอยู่ใน อาร์เรย์ args[]ภายใน JVM ตอนนี้เรามาดูวิธีการส่งผ่านอาร์กิวเมนต์บรรทัดคำสั่งพร้อมตัวอย่าง สมมติว่าเรามีไฟล์ที่มีโค้ด Java อยู่ ขั้นตอนต่อไปนี้จะสาธิตวิธีการส่งอาร์กิวเมนต์บรรทัดคำสั่งใน Java:
  1. บันทึกโปรแกรม Java ด้วย นามสกุล .java (เช่นArguments.java )

  2. เปิดเทอร์มินัล/พรอมต์คำสั่งในไดเร็กทอรีที่เก็บโปรแกรมไว้ในเครื่อง

  3. คอมไพล์โปรแกรม Java เพื่อแปลง ไฟล์ .javaเป็น ไฟล์ . class

    • คำสั่ง: javac filename.java (ในตัวอย่างของเรา: javac Arguments.java )
  4. รันโปรแกรมและส่งอาร์กิวเมนต์หลังจากคั่นชื่อไฟล์ด้วยช่องว่าง

    • คำสั่ง: ชื่อไฟล์ java argument1 argument2 .... argumentN (ในตัวอย่างของเรา ข้อโต้แย้ง Java: ยินดีต้อนรับสู่บล็อกนี้ และ Happy Learning )

จะเข้าถึงอาร์กิวเมนต์บรรทัดคำสั่งได้อย่างไร?

ตอนนี้เรามาลองเข้าถึงอาร์กิวเมนต์บรรทัดคำสั่งที่ส่งผ่านทั้งหมดใน Java ทำอย่างไร? เนื่องจากอาร์กิวเมนต์ถูกเก็บไว้ใน อาร์เรย์ args[]ซึ่งหมายความว่าเราสามารถเข้าถึงได้ง่ายโดยใช้args[i]ซึ่งระบุดัชนีที่สามารถอยู่ในช่วงตั้งแต่0ถึงn (จำนวนอาร์กิวเมนต์ทั้งหมดที่ส่งผ่าน)
class Arguments {
    public static void main( String[] args ) {
        System.out.println(" Hello World! ");
        // args.length is used to get length of args array

        System.out.println(" Total number of args: " + args.length);
        // iterating over the args array to print the args if available

        for (int i = 0; i < args.length; i++) {
            System.out.println(" Arg " + i + ": " + args[i]);
        }
    }
}
บทสรุป:
สวัสดีชาวโลก! จำนวน args ทั้งหมด: 7 Arg 0: ยินดีต้อนรับ Arg 1: ถึง Arg 2: นี้ Arg 3: บล็อก Arg 4: และ Arg 5: Happy Arg 6: การเรียนรู้

จะเปลี่ยนอาร์กิวเมนต์บรรทัดคำสั่งได้อย่างไร?

ที่นี่เราสามารถใช้args[i]เพื่อรับค่าที่ดัชนี i-th จากนั้นใช้ตัวดำเนินการมอบหมาย (=) ดังนั้นเราจึงสามารถเปลี่ยนอาร์กิวเมนต์บรรทัดคำสั่งที่ดัชนี i-th ข้อมูลโค้ดด้านล่างจะเปลี่ยนอาร์กิวเมนต์บางส่วนที่ส่งผ่านบรรทัดคำสั่งใน Java
args[1] = " Modified Command Line Argument 1 ";
args[3] = " Modified Command Line Argument 2 ";
args[5] = " Modified Command Line Argument 3 ";
ผลลัพธ์หลังการเปลี่ยนแปลง:
สวัสดีชาวโลก! จำนวน args ทั้งหมด: 7 Arg 0: ยินดีต้อนรับ Arg 1: อาร์กิวเมนต์บรรทัดคำสั่งที่แก้ไข 1 Arg 2: อาร์กิวเมนต์นี้ 3: อาร์กิวเมนต์บรรทัดคำสั่งที่แก้ไข 2 Arg 4: และ Arg 5: อาร์กิวเมนต์บรรทัดคำสั่งที่แก้ไข 3 Arg 6: การเรียนรู้

บทสรุป

  • อาร์กิวเมนต์บรรทัดคำสั่ง Java เป็นวิธีการป้อนข้อมูลลงในโปรแกรมผ่านทางบรรทัดคำสั่ง

  • อาร์กิวเมนต์บรรทัดคำสั่งจะถูกส่งผ่านเมื่อดำเนินการคำสั่ง run อาร์กิวเมนต์จะถูกส่งต่อทันทีหลังจากชื่อไฟล์ โดยคั่นด้วยช่องว่าง

  • อาร์กิวเมนต์บรรทัดคำสั่งถูกเขียนลงในอาร์เรย์สตริงargs[ ]

  • เราสามารถเข้าถึงหรือเปลี่ยนอาร์กิวเมนต์บรรทัดคำสั่งโดยใช้ ตัวดำเนินการ args[i]และตัวดำเนินการที่ได้รับมอบหมาย

ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION