1. File类

主要作用:用于文件和文件夹的创建、查找、删除等操作

public static void main(String[] args) throws IOException {

        File f = new File("haha/bin");

        //1. 创建文件夹
{
if(f.exists()){
System.out.println("1: "+"目录存在");
}else{
System.out.println("1: "+"目录不存在");
} f.mkdirs();
if(f.exists()){
System.out.println("1: "+"目录存在");
}else{
System.out.println("1: "+"目录不存在");
}
}
//2. 查找文件夹中的文件和文件夹
{
if(f.isDirectory()){
System.out.println("2: "+"是目录");
}else{
System.out.println("2: "+"是文件");
}
//将这个目录下的所有文件和文件夹全部单独放在在字符串中
String[] list = f.list();
for(String b : list){
System.out.println("2: 文件名:"+b);
File fs = new File("haha/bin/"+b);
if(fs.isFile()){
System.out.println("2: 属性:"+"文件");
}else{
System.out.println("2: 属性:"+"目录");
}
}
}
//3. 删除文件和文件夹
{
//拿到所有文件的对象
File[] ff = f.listFiles(); for(File tf : ff){
//如果是文件夹则暂时不管
if(tf.isDirectory()){ }else{
tf.delete();
}
}
} }

结果:

1:  目录存在
1: 目录存在
2: 是目录
2: 文件名:s
2: 属性:目录

2. 字节流

    public static void main(String[] args) throws IOException {
String StrA = "hello world";
File f = new File("f.txt");
if(f.exists()){
System.out.println("文件存在");
}else{
System.out.println("文件不存在");
}
//创建字节流输出流对象,如果没有文件则创建文件
//方法1:
//FileOutputStream fos = new FileOutputStream("f.txt");
//方法2:
FileOutputStream fos = new FileOutputStream(f);
byte[] b = StrA.getBytes();
for(byte bb : b)
fos.write(bb); //创建字节流输入对象
FileInputStream fis = new FileInputStream("f.txt");
//一次可以读取出来的数量
int i = fis.available();
int c;
byte[] br = new byte[i];
for(c = 0; c<i; c++)
br[c++] = fis.read(); System.out.println("得到的文件:"+br.toString());
}
文件存在
得到的文件:[B@6d06d69c

3. 字符流

package tet;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.Arrays; public class kk { public static void main(String[] args) throws IOException {
File f = new File("f.txt");
//字节流
FileOutputStream fos = new FileOutputStream (f);
//字符流
OutputStreamWriter osw= new OutputStreamWriter(fos,"UTF-8"); //写入缓冲
osw.append("hello"); //注意是从打开文件,从0开始追加,不是从末地址开始追加
osw.append("world");
//关闭字符流
osw.close();
//关闭字节流
fos.close(); if(f.exists())
{
System.out.println("文件存在");
}else{
System.out.println("文件不存在");
} //字节流
FileInputStream fis = new FileInputStream(f);
//字符流
InputStreamReader isr= new InputStreamReader(fis,"UTF-8");
//因为这个字符串会不断变化,String一旦确认,就不能再变化了
StringBuffer bs = new StringBuffer(); while(isr.ready()){
bs.append((char)isr.read());
}
System.out.println(bs.toString());
//关闭字符流
isr.close();
//关闭字节流
fis.close();
} }

结果:

文件存在
helloworld

JAVA练手--文件操作的更多相关文章

  1. Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...

  2. Java中的文件操作(一)RandomAccessFile

    今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...

  3. Java审计之文件操作漏洞

    Java审计之文件操作漏洞篇 0x00 前言 本篇内容打算把Java审计中会遇到的一些文件操作的漏洞,都给叙述一遍.比如一些任意文件上传,文件下载,文件读取,文件删除,这些操作文件的漏洞. 0x01 ...

  4. 20个Java练手项目,献给嗜学如狂的人

    给大家推荐一条由浅入深的JAVA学习路径,首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE 和 SSH 框架学习.最后再通过有趣的练手项目进行巩固. JAVA基础 ...

  5. Java最全文件操作实例汇总

    本文实例汇总了Java文件操作.分享给大家供大家参考,具体如下: 1.创建文件夹 ? 1 2 3 4 5 6 7 8 9 10 11 //import java.io.*; File myFolder ...

  6. Java中的文件操作

    在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前 ...

  7. 关于文件的INode与Java中的文件操作接口

    本文由作者周梁伟授权网易云社区发布. 近日做的项目中涉及到多进程共同读写多个文件的问题,文件名和最后修改时间都是可能会被频繁修改的,因而识别文件的唯一性会产生相当的麻烦,于是专门再学习了一下文件系统对 ...

  8. 第11讲-Java泛型和文件操作

    1.知识点 1.1.课程回顾 1.2.本章重点 1.2.1.泛型 1.2.2.文件操作 2.具体内容 2.1.Java泛型 2.1.1.为什么需要泛型 我们发现在List中,底层是Object[ ]数 ...

  9. Java7 新特性 —— java.nio.file 文件操作

    本文部分摘自 On Java 8 自 Java7 开始,Java 终于简化了文件读写的基本操作,新增了 java.nio.file 库,通过与 Java8 新增的 stream 结合可以使得文件操作变 ...

随机推荐

  1. Angular之constructor和ngOnInit差异及适用场景

    constructor会在类生成实例时调用,Angular无法控制constructor,constructor中应该只进行依赖注入而不是进行真正的业务操作 ngOnInit属于Angular生命周期 ...

  2. jsp int转String or String转int 方法

    将字串 String 转换成整数 int?  A. 有两个方法: 1). int i = Integer.parseInt([String]); 或  i = Integer.parseInt([St ...

  3. PARTITION BY函数

    1.PARTITION BY 开窗函数, 使用场景,在合同表里,获取所有房源在最新的合同编号.或者获取每个班级每次考试的第一名. 区别聚合函数:对于每个每个分组返回多行,而聚合函数对于每个分组只返回一 ...

  4. UWP开发入门(七)——下拉刷新

    本篇意在给这几天Win10 Mobile负面新闻不断的某软洗地,想要证明实现一个简单的下拉刷新并不困难.UWP开发更大的困难在于懒惰,缺乏学习的意愿.而不是“某软连下拉刷新控件都没有”这样的想法. 之 ...

  5. Oracle数据库02

    EXISTS子查询 特征:将主查询中的数据带到子查询中进行验证,如果验证成功则子查询返回true,当主查询接收到true的时候被验证的数据就显示,如果在子查询中验证失败则返回false,当主查询接收到 ...

  6. 解决:sql server无法在C盘下创建database/操作系统错误5(拒绝访问)

    问题: ——无法在C盘的任何位置创建数据库文件 ——在非系统盘的F盘可以创建数据库文件 解决方法1:禁用“以管理员批准模式运行所有管理员" 解决方法2:打开C盘对Users用户的完全控制权限 ...

  7. LOJ#2082. 「JSOI2016」炸弹攻击 2(计算几何+双指针)

    题面 传送门 题解 我们枚举一下发射源,并把敌人和激光塔按极角排序,那么一组合法解就是两个极角之差不超过\(\pi\)且中间有敌人的三元组数,预处理一下前缀和然后用双指针就行了 //minamoto ...

  8. URL的三类编码格式(JavaScript实现)

    编码函数: 1.escape():     不编码的字符有69个:*  +  -   .  /  @  _  0~9  a~z  A~Z     而且escape对0~255以外的Unicode值进行 ...

  9. var 是 Java 开发的好朋友啊!

    简评:Java var != JavaScript var. Java 10 中引入了新的语法用于局部变量类型推断,很多开发者有所疑惑,希望这篇文章能帮到你. 什么是类型推断 其实在 Java 中类型 ...

  10. Mixnode 让操作网络资源和数据库一样简单,不一样的爬虫!

    简评: hacker news 上刷的一篇文章,可以使用类似操作数据库的方式访问网络上的资源,可以大大简化爬虫的代码. Mixnode 将网络变成了一个巨大的数据库!换句话说,Mixnode 允许您将 ...