关于java保存字符串到txt文档的问题
privatevoidSaveRecord(intuser_id)//保存聊天记录{charsaveArray[]=p_send_text.toCharArray();t...
private void SaveRecord(int user_id) // 保存聊天记录
{
char saveArray[] = p_send_text.toCharArray();
try {
File file = new File("d:\\Chat\\", user_id + "_" + ".txt");
FileWriter out = new FileWriter(file, true);
out.write(saveArray, 0, saveArray.length);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
程序如上,为什么写入txt文档的字符类型为Char,而不是String,麻烦解释一下,本人对Char和String有点不清晰。 展开
{
char saveArray[] = p_send_text.toCharArray();
try {
File file = new File("d:\\Chat\\", user_id + "_" + ".txt");
FileWriter out = new FileWriter(file, true);
out.write(saveArray, 0, saveArray.length);
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
程序如上,为什么写入txt文档的字符类型为Char,而不是String,麻烦解释一下,本人对Char和String有点不清晰。 展开
6个回答
展开全部
首先,可以直接写入string的,这段程序的这种写法很无聊,让你误解了。
如: out.write(p_send_text);
其次,如果想写入一行并且换行的话,那么得包装一个printwriter,如:
PrintWriter out = new PrintWriter(FileWriter(file, true));
out.println(p_send_text);
在Java里,
char表示一个字符,它可以直接转换为int, byte, long.(ascii/unicode码)
String表示一串字符,它可以通过某些方法转换成一个数组,如char[], byte[],也可以用其他方法取出其中某个特定位置的字符,如charAt();
与C里面不同,在Java中,通常String用的比较多,char[]基本不用的。
如: out.write(p_send_text);
其次,如果想写入一行并且换行的话,那么得包装一个printwriter,如:
PrintWriter out = new PrintWriter(FileWriter(file, true));
out.println(p_send_text);
在Java里,
char表示一个字符,它可以直接转换为int, byte, long.(ascii/unicode码)
String表示一串字符,它可以通过某些方法转换成一个数组,如char[], byte[],也可以用其他方法取出其中某个特定位置的字符,如charAt();
与C里面不同,在Java中,通常String用的比较多,char[]基本不用的。
展开全部
Java的输入输出流分两种,一种是字符流,一种是字节流,你这里用的字符流,无论你传入什么基本对象,都会按字符去处理,例如这里的write方法,你可以传入int类型,那么他读取的是这个数字对应的unicode码的字符,你也可以传入其他基本类型,当然你可以传入字符数组,他会一个字符一个字符的处理,write方法还有个重载类型是传入String类型的,char[]和String从本质上没有多大区别的,因为如果你看过jdk源码的话,String对象的内部就封装了char[].
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你也可以直接写入字符串的呀,写入的方法有好多重载的方式的,建议你去看看帮助
char和String
char:基本数据类型,我们也会说是值类型
String:引用类型,这个引用类型嘛就类似于C的指针了,存放的是一个地址,根据地址找内容
再来点土说法:
char类型变量中只能存放一个字符,就一个哟
String类型的变量中可以存放0或N多个字符,要不然我们总是叫它字符串呢
明白没
char和String
char:基本数据类型,我们也会说是值类型
String:引用类型,这个引用类型嘛就类似于C的指针了,存放的是一个地址,根据地址找内容
再来点土说法:
char类型变量中只能存放一个字符,就一个哟
String类型的变量中可以存放0或N多个字符,要不然我们总是叫它字符串呢
明白没
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从字面上就可以看出来了,一个是字符,一个是字符串嘛。字符串当然可以是多个字符了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
流有很多种,你用的这个是最基本的。写String可以用FileInputStream具体的你可以看看api
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询