Java BufferedWriter将0作为\00写入文本文件
我有点像Java BufferedWriter将0作为\00写入文本文件,java,io,bufferedwriter,Java,Io,Bufferedwriter,我有点像 int userChoice; System.out.println("Enter your choice"); userChoice = userInput.nextInt(); //Scanner stuffs written already 假设用户选择0 当我尝试使用BufferedWriter并写入文本文件时 我得到\00正在写入文件,而不是0 下面是我的代码 try { BufferedWriter output = new BufferedWriter(new
int userChoice;
System.out.println("Enter your choice");
userChoice = userInput.nextInt(); //Scanner stuffs written already
假设用户选择0
当我尝试使用BufferedWriter并写入文本文件时
我得到\00正在写入文件,而不是0
下面是我的代码
try {
BufferedWriter output = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("salt.txt", true)));
output.write(userChoice);
output.close();
} catch (IOException e) {
e.printStackTrace();
}
那么,如何使它将“0”写入文件而不是“\00”我可能更喜欢使用,但您应该能够执行类似的操作-
// output.write(userChoice);
output.write(String.valueOf(userChoice));
我可能更喜欢使用a,但您应该能够这样做-
// output.write(userChoice);
output.write(String.valueOf(userChoice));
当您使用write(int c)时,它将整数解释为字符(类似于ASCII值)。编写userChoice时,请尝试将其转换为字符串
output.write(Integer.toString(userChoice));
output.write("" + userChoice);
当您使用write(int c)时,它将整数解释为字符(类似于ASCII值)。编写userChoice时,请尝试将其转换为字符串
output.write(Integer.toString(userChoice));
output.write("" + userChoice);
OutputStreamWriter有一个write(int)方法,但会将该值解释为字符代码。如果要使其可打印,请首先将int值转换为字符串或类似的可打印类型。OutputStreamWriter有一个write(int)方法,但会将该值解释为字符代码。如果要使其可打印,请首先将int值转换为字符串或类似的可打印类型。