JAVA练手--文件操作
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练手--文件操作的更多相关文章
- Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录
Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...
- Java中的文件操作(一)RandomAccessFile
今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...
- Java审计之文件操作漏洞
Java审计之文件操作漏洞篇 0x00 前言 本篇内容打算把Java审计中会遇到的一些文件操作的漏洞,都给叙述一遍.比如一些任意文件上传,文件下载,文件读取,文件删除,这些操作文件的漏洞. 0x01 ...
- 20个Java练手项目,献给嗜学如狂的人
给大家推荐一条由浅入深的JAVA学习路径,首先完成 Java基础.JDK.JDBC.正则表达式等基础实验,然后进阶到 J2SE 和 SSH 框架学习.最后再通过有趣的练手项目进行巩固. JAVA基础 ...
- Java最全文件操作实例汇总
本文实例汇总了Java文件操作.分享给大家供大家参考,具体如下: 1.创建文件夹 ? 1 2 3 4 5 6 7 8 9 10 11 //import java.io.*; File myFolder ...
- Java中的文件操作
在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前 ...
- 关于文件的INode与Java中的文件操作接口
本文由作者周梁伟授权网易云社区发布. 近日做的项目中涉及到多进程共同读写多个文件的问题,文件名和最后修改时间都是可能会被频繁修改的,因而识别文件的唯一性会产生相当的麻烦,于是专门再学习了一下文件系统对 ...
- 第11讲-Java泛型和文件操作
1.知识点 1.1.课程回顾 1.2.本章重点 1.2.1.泛型 1.2.2.文件操作 2.具体内容 2.1.Java泛型 2.1.1.为什么需要泛型 我们发现在List中,底层是Object[ ]数 ...
- Java7 新特性 —— java.nio.file 文件操作
本文部分摘自 On Java 8 自 Java7 开始,Java 终于简化了文件读写的基本操作,新增了 java.nio.file 库,通过与 Java8 新增的 stream 结合可以使得文件操作变 ...
随机推荐
- artemplate模板
artTemplate 介绍 最近使用了一款模板,学习成本比较低,性能也不错.觉得很好用,所以推荐给大家. artTemplate 是新一代 javascript 模板引擎,它采用预编译方式让性能有了 ...
- WP8中使用async/await扩展HttpWebRequest
前文讲到WP8中使用Async执行HTTP请求,用了微软提供的扩展.下面提供了一种方法,自己实现HttpWebRequest的扩展. 随后就可以使用 await HttpWebRequest.GetR ...
- 基于ASP.NET的MVC框架下的MvcPaper分页控件的使用技术
using System; using System.Collections.Generic; using System.Linq; using System.Web; using Webdiyer. ...
- 字节码执行方式--解释执行和JIT
此文已由作者赵计刚薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1.两种执行方式: 解释执行(运行期解释字节码并执行) 强制使用该模式:-Xint 编译为机器码执行(将字 ...
- 【总结】 NOIp2018考时经历记
可能我因为比较菜的原因,还是要写一下这个东西! 发布时间迟与更新时间,毕竟浙江选手为先例 那么希望NOIp8102RP++!!! 突然发现博客园支持更新创作时间了,那么就不咕了! 本次NOIp感受很深 ...
- jQuery--事件, 事件绑定, 阻止事件冒泡, 事件委托,页面载入后函数
1.常用事件, 按住shift键实现同步选择效果,搜索框联想效果 2.阻止事件冒泡 3.事件委托 4.使用 $(document).ready(function (){...}) 实现文件加载完绑定事 ...
- “全栈2019”Java异常第七章:try-catch-finally组合方式
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- [性能分析]linux文件描述符
1.什么是文件和文件描述符 Linux中文件可以分为4种:普通文件.目录文件.链接文件和设备文件.1.普通文件是用户日常使用最多的文件,包括文本文件.shell脚本.二进制的可执行和各种类型的数据.l ...
- tcping测试端口是否畅通
https://elifulkerson.com/projects/tcping.php 下载tcping.exe 执行exec文件或者放到C:\Window目录下执行 tcping IP 端口
- ansible api2.0 多进程执行不同的playbook
自动化运维工具:ansible 多进程调用ansible api的应用场景: 应用系统检查 一个应用系统可能具有20—50台服务器的集群,初步的系统层面检查可以用一个统一的playbook来检查, ...