Java中IO操作函数的使用方法和示例代码
Java中的IO操作函数用于读取、写入和操作文件、网络流及其他数据源。本文将介绍Java中常用的IO操作函数的使用方法及示例代码。
1. 文件读取函数
Java中常用的文件读取函数是BufferedReader和Scanner。其中BufferedReader适用于大数据量的读取,而Scanner适用于读取字符串和数字。
BufferedReader示例代码:
try{
FileReader fileReader = new FileReader("file.txt"); //创建FileReader对象
BufferedReader bufferedReader = new BufferedReader(fileReader); //创建BufferedReader对象
String line;
while ((line = bufferedReader.readLine()) != null) { //读取文件内容
System.out.println(line);
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
Scanner示例代码:
try{
File file = new File("file.txt"); //创建File对象
Scanner scanner = new Scanner(file); //创建Scanner对象
while (scanner.hasNextLine()) { //判断是否还有下一行
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
2. 文件写入函数
Java中常用的文件写入函数是PrintWriter和BufferedWriter。其中PrintWriter适用于写入字符串和数字,而BufferedWriter适用于大数据量的写入。
PrintWriter示例代码:
try{
FileWriter fileWriter = new FileWriter("file.txt", false); //创建FileWriter对象
PrintWriter printWriter = new PrintWriter(fileWriter); //创建PrintWriter对象,设置为覆盖写入
printWriter.println("Hello World"); //写入文本内容
printWriter.close();
} catch(IOException e) {
e.printStackTrace();
}
BufferedWriter示例代码:
try{
FileOutputStream fileOutputStream = new FileOutputStream("file.txt"); //创建FileOutputStream对象
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream); //创建OutputStreamWriter对象
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter); //创建BufferedWriter对象
bufferedWriter.write("Hello World"); //写入文本内容
bufferedWriter.flush(); //刷新缓冲区
bufferedWriter.close();
} catch(IOException e) {
e.printStackTrace();
}
3. 网络流读取函数
Java中的网络流读取函数有很多,例如InputStream、URLConnection、HttpClient等。这里以URLConnection为例讲解网络流读取函数的使用方法。
示例代码:
try{
URL url = new URL("http://www.example.com"); //创建URL对象
URLConnection connection = url.openConnection(); //打开连接
InputStreamReader inputStreamReader = new InputStreamReader(connection.getInputStream()); //创建InputStreamReader对象
BufferedReader bufferedReader = new BufferedReader(inputStreamReader); //创建BufferedReader对象
String line;
while ((line = bufferedReader.readLine()) != null) { //读取网页内容
System.out.println(line);
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
4. 网络流写入函数
Java中的网络流写入函数也有很多,例如OutputStream、URLConnection、HttpClient等。这里以URLConnection为例讲解网络流写入函数的使用方法。
示例代码:
try{
URL url = new URL("http://www.example.com"); //创建URL对象
URLConnection connection = url.openConnection(); //打开连接
connection.setDoOutput(true); //允许写入数据
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(connection.getOutputStream()); //创建OutputStreamWriter对象
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter); //创建BufferedWriter对象
bufferedWriter.write("Hello World"); //写入数据
bufferedWriter.flush(); //刷新缓冲区
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
5. 其他IO操作函数
除了文件和网络流的读写函数,Java中还有很多其他类型的IO操作函数,如ByteArrayInputStream、ByteArrayOutputStream、PipedInputStream、PipedOutputStream等。这些函数一般用于数据源的转换、传输和处理。这里以ByteArrayInputStream和ByteArrayOutputStream为例讲解其使用方法。
示例代码:
try{
String str = "Hello World"; //定义字符串
byte[] bytes = str.getBytes(); //将字符串转换为字节数组
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes); //创建ByteArrayInputStream对象
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); //创建ByteArrayOutputStream对象
int ch;
while ((ch = byteArrayInputStream.read()) != -1) { //读取数据并写入到输出流中
byteArrayOutputStream.write(Character.toUpperCase((char) ch));
}
byte[] result = byteArrayOutputStream.toByteArray(); //将结果转换为字节数组
System.out.println(new String(result)); //输出结果
byteArrayInputStream.close();
byteArrayOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
以上就是Java中常用的IO操作函数的使用方法及示例代码。通过使用这些函数,我们可以轻松地进行文件和网络流的读写操作,并且能够灵活地处理各种类型的数据源。
