2014-02-17 77 views
1

我讀的文本數據[UTF-8格式]文件,並將其存儲在一個字符串,該字符串轉換爲十六進制格式,這十六進制字符串保存到另一個文件,但我要救這個轉換的十六進制字符串逐行。怎麼做?寫入文件一行一行

 String sCurrentLine; 
     br = new BufferedReader(new FileReader("demmo123.txt")); 
     while ((sCurrentLine = br.readLine()) != null) { 
      sb1.append(sCurrentLine); 
     } 
     String ss = sb1.toString(); 
     Scanner sc = new Scanner(ss); 
     String helloWorldHex = toHexString(ss.getBytes()); 
     file = new File("demmo.txt"); 
     fop = new FileOutputStream(file); 
     if (!file.exists()) { 
      file.createNewFile(); 
     } 
     byte[] contentInBytes = helloWorldHex.getBytes(); 
     fop.write(helloWorldHex.getBytes()); 
     fop.write(contentInBytes); 
     fop.flush(); 
     fop.close(); 
     fop.write(helloWorldHex.getBytes()); 
+2

顯示你到目前爲止的代碼。 – PeterMmm

+0

String sCurrentLine; br = new BufferedReader(new FileReader(「demmo123.txt」)); 而(!(sCurrentLine = br.readLine())= NULL){ \t sb1.append(sCurrentLine); \t} \t字符串SS = sb1.toString(); \t Scanner sc = new Scanner(ss); \t String helloWorldHex = toHexString(ss.getBytes()); \t file = new File(「demmo.txt」); \t fop = new FileOutputStream(file); \t如果(!file.exists()){ \t file.createNewFile(); \t} \t字節[] contentInBytes = helloWorldHex.getBytes(); fop.write(helloWorldHex.getBytes()); \t \t \t //fop.write(contentInBytes); \t \t \t fop.flush(); \t \t \t fop.close(); \t \t \t \t \t \t \t \t \t fop.write(helloWorldHex.getBytes()); – user3134139

+1

@ user3134139:請將您的代碼添加到您的問題中。使用'編輯'鏈接。 – PakkuDon

回答

0

對於輸入數據:

test string 1 
test string 2 
test string 3 
test string 4 


import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.PrintWriter; 
import java.util.Scanner; 

public class Example { 
    public static void main(String[] args) { 

     try { 
      File input = new File("C:\\temp\\input.txt"); 
      File output = new File("C:\\temp\\output.txt"); 

      Scanner scanner = new Scanner(input); 
      PrintWriter printer = new PrintWriter(output); 
      while(scanner.hasNextLine()) { 
       String string = scanner.nextLine(); 
       StringBuilder stringBuilder = new StringBuilder(200); 
       for(char ch: string.toCharArray()) { 
        if(stringBuilder.length() > 0) stringBuilder.append(' '); 
        stringBuilder.append(String.format("%04x", (int)ch)); 
       } 
       printer.write(stringBuilder.toString());      
       printer.write("\r\n"); 
      } 
      printer.flush(); 
      printer.close(); 
     } 
     catch(FileNotFoundException e) { 
      System.err.println("File not found."); 
     } 
    } 

} 

它給:

0074 0065 0073 0074 0020 0073 0074 0072 0069 006e 0067 0020 0031 
0074 0065 0073 0074 0020 0073 0074 0072 0069 006e 0067 0020 0032 
0074 0065 0073 0074 0020 0073 0074 0072 0069 006e 0067 0020 0033 
0074 0065 0073 0074 0020 0073 0074 0072 0069 006e 0067 0020 0034 
+0

謝謝。阿列克謝。 – user3134139

+0

不客氣。 –

0
FileWriter writer = new FileWriter("outputfile.txt"); // use your file extension 
String content = "My first line"; 
writer.write(content+"\n"); 
writer.flush(); 
//if you have array of string use for loop 
writer.close(); 
// you should use exception handing always and import relevant classes