Java 在我的文本文件中放置随机符号而不是整数
Java putting random symbols in my text file instead of integers
我有一个程序应该将字符串和随机整数放入文本文件中。出于某种原因,我的程序将随机符号而不是整数放入文件中。有人知道为什么会这样吗?
文件当前的样子:
Test
賬
Test2
∗
文件应该是什么样子:
Test
36076
Test2
74263
Class 获取字符串和随机数:
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);
}
Class 将字符串和数字写入文件:
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);
}
的 write(int c) 方法
write(int c)
Writes a single character.
您需要将其转换为 String
并使用:
bw.write(String.valueOf(generatedCode))
BufferedWriter的write方法写一个字符:
https://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html
您必须将您的整数转换为字符串:
bw.write(Integer.toString(generatedCode));
我有一个程序应该将字符串和随机整数放入文本文件中。出于某种原因,我的程序将随机符号而不是整数放入文件中。有人知道为什么会这样吗?
文件当前的样子:
Test
賬
Test2
∗
文件应该是什么样子:
Test
36076
Test2
74263
Class 获取字符串和随机数:
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);
}
Class 将字符串和数字写入文件:
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);
}
write(int c)
Writes a single character.
您需要将其转换为 String
并使用:
bw.write(String.valueOf(generatedCode))
BufferedWriter的write方法写一个字符: https://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html
您必须将您的整数转换为字符串:
bw.write(Integer.toString(generatedCode));