gpt4 book ai didi

java - "\n"无法在记事本中使用缓冲编写器?

转载 作者:行者123 更新时间:2023-12-02 05:00:33 25 4
gpt4 key购买 nike

我正在编写一个 Java 程序(使用 Eclipse IDE),使用 swing 将 MIPS 代码从八进制转换为二进制表示法,

问题是无论我尝试什么,我都看不到逐行写入的输出文件,我尝试了很多方法,但不知道出了什么问题,请帮助我

在输入文件中我说过

FAB 4FFFFF

输出显示为

1111 1010 1011 100 1111 1111 1111 1111

但是当我在 NotePad++ 等中打开时,格式正常,请帮助我

当我在记事本中打开时,我也希望它看起来格式化像这样

1111 1010 1011 100 
1111 1111 1111 1111

我猜它与文本编辑器有关,而不是与程序有关,无论如何,这是完成工作的方法......

公共(public)无效convertFile()

{ 尝试{

    BufferedReader reader=new BufferedReader(new FileReader(inputFile));


JFileChooser fileSave=new JFileChooser(".");//open chooser with current working directory
fileSave.showSaveDialog(frame);

outputFile=fileSave.getSelectedFile();

BufferedWriter writer=new BufferedWriter(new FileWriter(outputFile));

String line="";
String binaryVal="";
String binaryLine="";
String[] token;

//read from input file and convert and save in output file
while((line=reader.readLine())!=null)
{
token=line.split("\\s+");
binaryVal="";
binaryLine="";

for(int i=0;i<token.length;i++)
{
binaryVal=HexToBinaryConverter.hexToBin(token[i]);
//System.out.println(binaryVal);
binaryLine=(binaryLine+binaryVal+" ");
//System.out.println(binaryLine);
}//all tokens in a line have been processed ,now write to file
System.out.println(binaryLine);

writer.write(binaryLine+"\n");

}

//entire file has been processed now close everthing
writer.close();
reader.close();
}
catch(Exception e)
{
System.out.println("Some exception in FIle IO");
JOptionPane.showMessageDialog(frame,
"Invalid Hex Numbers.",
"Inane warning",
JOptionPane.WARNING_MESSAGE);
}

}

最佳答案

我建议你使用PrintWriter。它比附加 \n 更有效,并且它将使用特定于平台的回车符。

try (PrintWriter pw = new PrintWriter(filename)) {
// do something
pw.println(binaryLine);
// something else.
} // close when done.

println 将在 Windows 上使用 \r\n,在 Linux/MacOSX 上使用 \n

i question is will using \r\n render my jar program or executable unrunnable in UNIX?

你的程序将会运行,除非你会在你编写的每行文本的末尾得到一个^M,它是\r

关于java - "\n"无法在记事本中使用缓冲编写器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28324693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com