File类常用的方法:
代码来看:
public class FileTest { public static void main(String[] args) throws IOException { //转义符的问题: 使用\转义符或者/解决 //相对路径:指当前程序的位置到目标文件的路径 //绝对路径:系统的根目录到目标文件的路径 File file=new File("file/强哥.txt"); //判断文件是否存在 System.out.println("强哥存在吗?"+file.exists()); //判断文件|目录 System.out.println("强哥是文件吗?"+file.isFile()); System.out.println("强哥是目录吗?"+file.isDirectory()); //获取文件的相对路径和绝对路径 System.out.println("相对路径:"+file.getPath()); System.out.println("绝对路径:"+file.getAbsolutePath()); //获取文件的有效字节数 System.out.println("字节数:"+file.length()); //file.delete();//干掉强哥 在文件不存在时,没有异常抛出 file.createNewFile();//文件存在时 不会抛出异常也不会创建新文件 }}
运行结果:
强哥存在吗?true强哥是文件吗?true强哥是目录吗?false相对路径:file\强哥.txt绝对路径:D:\Workspaces\MyEclipse 10\TeacherText\IOTest\IOTest\file\强哥.txt字节数:20
图片的输入和输出:
import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;//图片star.jpg位于C盘根目录下,要求将此图片复制到D:\myDoc\myPicture.jpgpublic class Inputstreamtext { public static void main(String[] args) throws Exception { //分别实例化输入流和输出流对象 DataInputStream dis=new DataInputStream(new FileInputStream("C:\\Users\\fengyl\\Desktop\\star.jpg")); DataOutputStream dos=new DataOutputStream(new FileOutputStream("E:\\myFile\\myPicture.jpg")); byte bytes[]=new byte[1024]; int data=0; while((data=dis.read(bytes))!=-1){ dos.write(bytes, 0, data); } dos.close(); dis.close(); }}
java流的分类:
输入流和输出流常用方法:
文件输入流的处理:
private static void InputStreamOps() { File file = new File("/home/hadoop/learnJava/Spark/JavaFile/Spark.txt"); try{ InputStream inputStream = new FileInputStream(file);//创建一个向指定 File 对象表示的文件中写入数据的文件输出流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。创建一个新 FileDescriptor 对象来表示此文件连接。 byte[] content = new byte[1024]; inputStream.read(content); System.out.println(new String(content)); inputStream.close(); }catch (Exception e){ e.printStackTrace(); } }
输出流的处理:
private static void outputStreamOps() { File file = new File("/home/hadoop/learnJava/Spark/JavaFile/Spark.txt"); try{ OutputStream out = new FileOutputStream(file,true);//创建一个向指定 File 对象表示的文件中写入数据的文件输出流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。创建一个新 FileDescriptor 对象来表示此文件连接。 byte[] data = "Hello BigData".getBytes(); out.write(data); out.close(); }catch (IOException e){ e.printStackTrace(); } }
使用FileInputStream读文本文件的实现步骤:
使用FileOutputStream写文本文件实现的步骤: