我有一个程序,应该将字符串和随机整数放入文本文件中。由于某种原因,我的程序将随机符号而不是整数放入文件中。有人知道为什么会发生这种情况吗?
文件当前的样子:
Test
賬
Test2
∗
文件应该是什么样子:
Test
36076
Test2
74263
获取字符串和随机数的类:
public void newList() {
boolean newCode = false;
while (!newCode) {
System.out.println("NEW LIST");
System.out.print("List Name: ");
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
listName = scanner.next();
System.out.println("The list name has been saved!");
System.out.println();
Random generateCode = new Random();
setGeneratedCode(generateCode.nextInt((99999 - 10000) + 1) + 10000);
File f = new File(generatedCode + ".txt");
if (f.exists()) {
newCode = false;
}
if (!f.exists()) {
newCode = true;
}
}
ListsWriter listsWriterObject = new ListsWriter();
listsWriterObject.listsWriter(listName, generatedCode);
}
将字符串和数字写入文件的类:
public void listsWriter(String listName, int generatedCode) {
BufferedWriter bw = null;
File lists = new File("lists.txt");
try{
FileWriter fw = new FileWriter(lists, true);
bw = new BufferedWriter(fw);
bw.write(listName);
bw.newLine();
bw.write(generatedCode);
bw.newLine();
bw.close();
}catch(IOException ex){
ex.printStackTrace();
}
FileCreator fileCreatorObject = new FileCreator();
fileCreatorObject.fileCreator(generatedCode);
}
最佳答案
您使用 OutputStreamWriter 的 write(int c) 方法
write(int c)
Writes a single character.
您需要将其转换为 String
并使用:
bw.write(String.valueOf( generatedCode))
关于Java在我的文本文件中放入随机符号而不是整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44828384/