实验10  流与文件操作

一、实验目的

理解和掌握JAVA程序中实现输入/输出的技术和有关的类与方法。

二、实验要求

  1. 掌握File类常用的方法
  2. 掌握标准数据流及Scanner类的应用。
  3. 掌握文件输入输出流使用
  4. 掌握数据输入输出流使用
  5. 了解对象流的使用。

三、实验内容

(一) 使用File类,测试文件与文件夹属性

1.测试理解File

package FileTest1;

import java.io.*;

public class TestFile1 {

public static void main(String args[]) {

// 磁盘上已有文件的测试(查磁盘上的文件与文件夹,替换下列文件夹与文件名)

File f1 = new File("C:\\WINDOWS", "win.ini");

System.out.println("文件win.ini存在吗:" + f1.exists());

System.out.println("文件win.ini是可读的吗:" + f1.canRead());

System.out.println("文件win.ini是可写的吗:" + f1.canWrite());

System.out.println("文件win.ini是隐藏的文件吗:" + f1.isHidden());

System.out.println("文件win.ini的绝对路径:" + f1.getAbsolutePath());

System.out.println("文件win.ini的路径:" + f1.getPath());

System.out.println("文件win.ini的文件名:" + f1.getName());

System.out.println("文件win.ini的长度:" + f1.length());

System.out.println("文件win.ini的最后修改时间(长整形):" + f1.lastModified());

File f2 = new File("C:\\WINDOWS");

System.out.println("目录C:\\WINDOWS:存在吗:" + f2.exists());

System.out.println("C:\\WINDOWS:是目录吗?" + f2.isDirectory());

System.out.println("C:\\WINDOWS:是文件吗?" + f2.isFile());

System.out

.println("----------------------------------------------------------------------");

File fileName[] = f2.listFiles();

for (int i = 0; i < fileName.length; i++) {

if (fileName[i].isFile())

System.out.println("文  件  名  称:" + fileName[i].getName());

else

System.out.println("文件夹名称:" + fileName[i].getName());

}

System.out

.println("----------------------------------------------------------------------");

String fileNameStr[] = f2.list();

for (int i = 0; i < fileName.length; i++) {

System.out.println("文件(夹)名称:" + fileNameStr[i]);

}

System.out

.println("----------------------------------------------------------------------");

// 磁盘上没有的文件夹的测试

File f3 = new File("E:\\8000");

System.out.println("目录E:\\8000存在吗:" + f3.exists());

f3.mkdir();

System.out.println("目录E:\\8000存在吗:" + f3.exists());

f3.delete();

System.out.println("目录E:\\8000存在吗:" + f3.exists());

// 磁盘上没有的文件的测试

File f4 = new File("E:\\9000");

if (!f4.exists())

f4.mkdir();

File f5 = new File(f4, "abc.txt");

System.out.println("文件abc.txt存在吗?:" + f5.exists());

try {

if (!f5.exists())

f5.createNewFile();

System.out.println("文件abc.txt存在吗?:" + f5.exists());

} catch (IOException e) {

System.out.println("异常" + e);

}

}

}

2.测试可执行文件

package FileTest1;

import java.io.*;

public class TestFile2 {

public static void main(String args[]) {

try {

Runtime ce = Runtime.getRuntime();

File file = new File("c:/windows", "Notepad.exe");

ce.exec(file.getAbsolutePath());

} catch (Exception e) {

System.out.println(e);

}

}

}

(二) 编程
  1. 编程:使用Scanner类从键盘输入10个int类型的数,求累加和和平均值。
  2. import java.util.Scanner;
    
    public class 二1 {
    
        public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("请输入10个数");
    Scanner in = new Scanner(System.in);
    int sum=0;
    for(int i=1;i<=10;i++)
    {
    sum+=in.nextInt();
    }
    System.out.println("和为:"+ sum+"\n平均数为:"+sum*1.0/10); } }
  3. 将保存在本地机当前文件夹中的文本文件的内容在屏幕上显示出来,然后将其另存为 另一个文件。
import java.io.*;

public class 二2 {

    public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileInputStream rf = new FileInputStream("C:\\WINDOWS\\win.ini");
FileOutputStream wf = new FileOutputStream("C:\\CYS\\cys.txt");
int n=1000;
byte buffer[] = new byte[n];
while((rf.read(buffer,0,n)!=-1)&&(n>0))
{
System.out.println(new String(buffer));
wf.write(buffer,0,buffer.length);
}
System.out.println();
rf.close();
wf.close(); } }

Java学习---流与文件的更多相关文章

  1. Java:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  2. java io流 对文件夹的操作

    java io流 对文件夹的操作 检查文件夹是否存在 显示文件夹下面的文件 ....更多方法参考 http://www.cnblogs.com/phpyangbo/p/5965781.html ,与文 ...

  3. Java学习-043-获取文件在目录中的路径

    我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名.在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现. 获 ...

  4. java io流 创建文件、写入数据、设置输出位置

    java io流 创建文件 写入数据 改变system.out.print的输出位置 //创建文件 //写入数据 //改变system.out.print的输出位置 import java.io.*; ...

  5. Java学习-014-文本文件写入实例源代码(两种写入方式)

    此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 第一种:文本文件写入,若文件存在则删除原文件,并重新创建文件.源代码如下所示: /** * @fun ...

  6. Java学习-013-文本文件读取实例源代码(两种数据返回格式)

    此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 1.读取的文本文件内容以一维数组[LinkedList<String>]的形式返回,源代 ...

  7. Java学习-011-创建文件实例及源代码

    此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 创建文件的源代码如下所示: /** * @function 文件操作:创建文件.若文件不存在,则直接创建文件:若 ...

  8. Java学习-010-创建文件夹源代码

    此文源码主要为应用 Java 创建文件目录的源码.若有不足之处,敬请大神指正,不胜感激! 创建文件夹源代码如下所示: /** * @function 文件操作:创建文件夹.若文件夹不存在,则级联创建文 ...

  9. Java 字符流实现文件读写操作(FileReader-FileWriter)

    Java 字符流实现文件读写操作(FileReader-FileWriter) 备注:字符流效率高,但是没有字节流底层 字节流地址:http://pengyan5945.iteye.com/blog/ ...

随机推荐

  1. lnmp架构、mysql的安装、php的安装、nginx相关

    1.lnmp架构 2.mysql的安装: mysql5.6自动安装脚本: yum install perl-Data-Dumper.x86_64 libaio.x86_64 libaio-devel. ...

  2. ACM 删数问题 SDUT 2072

    http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/2072.html 删数问题 Time Limit ...

  3. 博客 first

    2016.10.28 这会是一个值得纪念的日子,我将会从此刻开始,1~2天不间断的更新我再软件,编程方面的学习历程和在大学的琐事. 希望N年后看到,能够回味. a good memery....... ...

  4. 【添加最新版本的mysql的jdbc连接jar包】java.math.BigInteger cannot be cast to java.lang.Long异常

    [问题描述] 从我的电脑把项目拷贝到guo小中的win8电脑,but出现了那个错误,估计他的mysql是最新版本的. [如何下载连接jar包] 链接:https://pan.baidu.com/s/1 ...

  5. 世界各个地区WIFI 2.4G及5G信道划分表(附无线通信频率分配表)

    参考:https://blog.csdn.net/dxpqxb/article/details/80969760 目前主流的无线WIFI网络设备802.11a/b/g/n/ac: 传统 802.11 ...

  6. zsh:no matches found 问题解决

    解决方法: ~/.zshrc 文件加入: setopt no_nomatch 之后,更新配置 source ~/.zshrc        

  7. Redis&MongoDB&Zookeeper&Kafka

    目录 Redis MongoDB Zookeeper Kafka Redis 概念 Redis是NoSQL中比较常典型的一个非关系型数据库,在日常工作中也是最为常见的.Redis是一个由C语言编写的开 ...

  8. C# string 转 bool

    bool _b = Convert.ToBoolean("False"); "_b => false" // // 摘要: //     将逻辑值的指定字 ...

  9. antd 知识点

    表格实现:不管多少列,为列指定一个宽度,让表格在容器里可左右拖动 例子文件地址:https://github.com/cag2050/antd_mobx_demo/blob/master/src/co ...

  10. toString() 和 toLocaleString() 的区别

    toString() 和 toLocaleString() 的区别 table th:nth-of-type(4) { width: 400px; } 区别项 toString() toLocaleS ...