1.关于行分隔符的问题,先看一段代码:
package MyText1;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
public class MyText1 {
public static void main (String []args)
{
String str[] = {"我有一头小毛驴", "我从来也不骑", "啊哈哈~~"};
// char str[] = {'我', '有', '一', '头', '小', '毛', '驴'};
File file = new File("G:\\bin\\helloworld.txt");
if(!file.exists())
{
try{
file.createNewFile();
FileWriter write = new FileWriter(file);
BufferedWriter out = new BufferedWriter(write);
for(int i = 0 ; i < 3; i++)
{
out.write(str[i]);
out.newLine();//添加行分隔符
}
// out.write(str);
out.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
else
{
try{
FileReader read = new FileReader(file);
BufferedReader in = new BufferedReader(read);
System.out.println("=======================");
for(int i = 0 ; i < 3; i++)
{
String str1 = in.readLine();
System.out.println(str1);
}
System.out.println("=======================");
/*int length;
char[] str1 = new char[1024];
length = in.read(str1);
System.out.println(new String(str1, 0, length));
System.out.println("=======================");*/
in.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
}
输出结果:
=======================
我有一头小毛驴
我从来也不骑
啊哈哈~~
=======================
由此可见,方法:
for(int i = 0 ; i < 3; i++)
{
String str1 = in.readLine();
System.out.println(str1);
}
不读取分隔符
再看另外一种方法:
package MyText1;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
public class MyText1 {
public static void main (String []args)
{
String str[] = {"我有一头小毛驴", "我从来也不骑", "啊哈哈~~"};
// char str[] = {'我', '有', '一', '头', '小', '毛', '驴'};
File file = new File("G:\\bin\\helloworld.txt");
if(!file.exists())
{
try{
file.createNewFile();
FileWriter write = new FileWriter(file);
BufferedWriter out = new BufferedWriter(write);
for(int i = 0 ; i < 3; i++)
{
out.write(str[i]);
out.newLine();//添加行分隔符
}
// out.write(str);
out.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
else
{
try{
FileReader read = new FileReader(file);
BufferedReader in = new BufferedReader(read);
/*System.out.println("=======================");
for(int i = 0 ; i < 3; i++)
{
String str1 = in.readLine();
System.out.println(str1);
}*/
System.out.println("=======================");
int length;
char[] str1 = new char[1024];
length = in.read(str1);
System.out.println(new String(str1, 0, length));
System.out.println("=======================");
in.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
}
输出结果:
=======================
我有一头小毛驴
我从来也不骑
啊哈哈~~
=======================
由此可见方法:
int length;
char[] str1 = new char[1024];
length = in.read(str1);
System.out.println(new String(str1, 0, length));
读取行分隔符
2.FileOutputStream与BufferedOutputStream的write方法完全一样,FileInputStream与BufferedInputStream的read方法完全相同。
3.DataOutputStream与DataInputStream的使用
package MyText1;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
public class MyText1 {
public static void main (String []args)
{
String str = "我有一头小毛驴";
File file = new File("G:\\bin\\helloworld.txt");
if(!file.exists())
{
try{
file.createNewFile();
FileOutputStream write = new FileOutputStream(file);
DataOutputStream out = new DataOutputStream(write);
out.writeUTF(str);
out.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
else
{
try{
FileInputStream read = new FileInputStream(file);
DataInputStream in = new DataInputStream(read);
System.out.println(in.readUTF());
in.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
}
分享到:
相关推荐
输入输出流(I/O Stream);输入流(Input Stream);输出流(Output Stream);文本文件 vs 二进制文件;文本文件 vs 二进制文件;文本文件 vs 二进制文件;文本I/O类层次结构;FileReader and FileWriter;使用FileWriter写文件-...
15.6. I/O输入输出 16. 十五 网络编程 16.1. 网络基础知识 16.2. TCP Socket 16.2.1. 建立TCP服务器端 16.2.2. 建立TCP客户端 16.3. 建立URL连接 16.4. UDP socket 16.4.1. 建立UDP 发送端 16.4.2. ...
在以后的章节中,用通俗易懂的手法,紧密联系实际应用的方式,深入浅出地讲解了多线程,常用Java类,Java中的I/O(输入输出)编程,GUI与Applet,网络编程等方面的知识。 张孝祥老师从事了多年的软件开发和培训教学...
在以后的章节中,用通俗易懂的手法,紧密联系实际应用的方式,深入浅出地讲解了多线程,常用Java类,Java中的I/O(输入输出)编程,GUI与Applet,网络编程等方面的知识。 本书许多内容都来源于程序员圈子里的非正式...
15.6. I/O输入输出 15-48 16. 十五•网络编程 16-52 16.1. 网络基础知识 16-52 16.2. TCP Socket 16-54 16.2.1. 建立TCP服务器端 16-54 16.2.2. 建立TCP客户端 16-55 16.3. 建立URL连接 16-55 16.4. UDP socket 16-...
在以后的章节中,用通俗易懂的手法,紧密联系实际应用的方式,深入浅出地讲解了多线程,常用Java类,Java中的I/O(输入输出)编程,GUI与Applet,网络编程等方面的知识。 本书许多内容都来源于程序员圈子里的非正式...
第14章 Java I/O系统 14.1 I/O概述 14.2 文件操作 14.2.1 File类 14.2.2 File类应用 14.2.3 RandomAccessFile类 14.2.4 RandomAccessFile应用 14.3 字节流InputStream、OutputStream 14.3.1 字节输入、输出...
15.6. I/O输入输出 15-48 16. 十五•网络编程 16-52 16.1. 网络基础知识 16-52 16.2. TCP Socket 16-54 16.2.1. 建立TCP服务器端 16-54 16.2.2. 建立TCP客户端 16-55 16.3. 建立URL连接 16-55 16.4. UDP socket 16-...
28 1.3 程序开发过程 29 1.4 编码规范 29 1.5 HelloWorld:第一个Java程序 30 1.5.1 编写程序代码 30 1.5.2 编译程序代码并运行 30 1.5.3 注意事项 31 1.6 使用Eclipse集成开发工具开发 32 1.7 综合练习 32 1.8 小结...
注意事项 第15章 国际化(internationalization) 字符集与编码 消息目录 第16章 事件驱动的编程 tcl事件循环 after命令 fileevent命令 vwait命令 fconfigure命令 第17章 套接字编程 客户端套接字 ...
6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8....
我将在这里讨论一些 C# 引入的新的修饰符。 readonly readonly 修饰符仅用于修饰类的数据成员。正如其名字说的,一旦它们已经进行了写操作、直接初始化或在构造函数中对其进行了赋值,readonly 数据成员就只能对其...
6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8....
6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知...
6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题...
6.3.2. 复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性和已知问题 6.8....
复制从I/O线程状态 6.3.3. 复制从SQL线程状态 6.3.4. 复制传递和状态文件 6.4. 如何设置复制 6.5. 不同MySQL版本之间的复制兼容性 6.6. 升级复制设置 6.6.1. 将复制升级到5.0版 6.7. 复制特性...
Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。 ...