Java FileWriter将整数写入为非法字符
我现在正在写一个算法,谁在写另一个算法。 为此,我使用FileWriter类,在我尝试在文件中写入整数之前,它工作得很好Java FileWriter将整数写入为非法字符,java,filewriter,illegal-characters,Java,Filewriter,Illegal Characters,我现在正在写一个算法,谁在写另一个算法。 为此,我使用FileWriter类,在我尝试在文件中写入整数之前,它工作得很好 fileWriter.write(1)打印```(编辑:此处看不到字符),intelliJ将其解释为:非法字符U+0001(每个数字都有不同的非法字符名称) 当我在做fileWriter时,写(“1”)这个工作很好 问题是来自Intellij还是我必须将每个整数转换为字符串?基本上Writer.write(int)并没有达到您期望的效果。报告说: 只写一个字符。要写入的字符包
fileWriter.write(1)代码>打印```(编辑:此处看不到字符),intelliJ将其解释为:非法字符U+0001
(每个数字都有不同的非法字符名称)
当我在做fileWriter时,写(“1”)
这个工作很好
问题是来自Intellij还是我必须将每个整数转换为字符串?基本上Writer.write(int)
并没有达到您期望的效果。报告说:
只写一个字符。要写入的字符包含在给定整数值的16个低阶位中;16个高阶位被忽略
正如IntelliJ所说,你写的是U+0001
它不是世界上最伟大的API(最好接受单个字符的char
),但它的性能与设计相符
基本上,是的,您需要将所有内容转换为文本。基本上Writer.write(int)
并没有达到您期望的效果。报告说:
只写一个字符。要写入的字符包含在给定整数值的16个低阶位中;16个高阶位被忽略
正如IntelliJ所说,你写的是U+0001
它不是世界上最伟大的API(最好接受单个字符的char
),但它的性能与设计相符
基本上,是的,您需要将所有内容转换为文本。从OutputStreamWriter.write(int)
继承的FileWriter.write(int)
方法将单个字符写入文件。输入int
是字符的ASCII或Unicode表示形式。例如,writefileWriter.write(65)
写入字母A
,因为A
的ASCII值是65。这也可以写成fileWriter.write('A')
,因为字符A
在内存中表示为数字65
。如果要将整数写入文件,则需要调用fileWriter.write(integer.toString(i))
,其中i
是要写入的值。或者,如果i
是一个单位数正数,您可以编写fileWriter.write('0'+i)
,因为向这样的数字添加'0'
会将其转换为相应的字符。fileWriter.write(int)
方法继承自OutputStreamWriter.write(int)
,将单个字符写入文件。输入int
是字符的ASCII或Unicode表示形式。例如,writefileWriter.write(65)
写入字母A
,因为A
的ASCII值是65。这也可以写成fileWriter.write('A')
,因为字符A
在内存中表示为数字65
。如果要将整数写入文件,则需要调用fileWriter.write(integer.toString(i))
,其中i
是要写入的值。或者,如果i
是一个单位数正数,您可以编写fileWriter.write('0'+i)
,因为向这样的数字添加'0'
会将其转换为相应的字符