Java IO

1、file类

             file类的构造方法:
public Flie(String pathname) -->实例化Flie类的时候,必须设置好路径。
如:Flie f = new Flie("d:\\test.txt");

(1)Windows中使用反斜杠表示目录的分隔符。

(2) Linux中使用正斜杠表示目录的分隔符。

Flie类主要方法:

2、字节流与字符流

Java IO的操作流程:

(1)使用Flle类打开一个文件。

(2)通过字节流和字符流的子类指定输出的位置。

(3)进行读和写的操作。

(4)关闭输入和输出。

字节流

字节输出流:OUtputStream

OutputStream是一个抽象类,因此需要通过子类FileOutputStream实例化对象,才能够使用它。

常用方法:

public void write(int b) throws IOException:

一次写一个字节    b- 要写入的字节。

public void write(byte[] b) throws IOException:

一次写一个字节数组

public void write(byte[] b, int off,int len) throws IOException:

一次写一部分字节数组

public void close()throws IOException

关闭此文件输出流并释放与此流有关的所有系统资源。此文件输出流不能再用于写入字节。

字节输入流:

它与OutputStream一样,需要通过子类FlieInputStream实例化对象。

常用方法:

字符流

字符输出流:Writer

它也是一个抽象类,需要通过子类FlieWriter实例化对象。

常用方法:

字符输入流:Reader

同样是一个抽象类,需要通过子类FlieReader实例化对象。

常用方法:

public int read() throws IOException

读取单个字符。

作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1

public int read(char[] cbuf) throws IOException

一次读取一个字节数组

cbuf - 目标缓冲区

读取的字符数,如果已到达流的末尾,则返回 -1

public void close() throws IOException

关闭该流并释放与之关联的所有资源。

public String readLine() throws IOException

读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。

包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null

课堂作业

实验代码

package 课堂作业;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;
import java.util.Scanner; public class Main {
public static void main(String[] args) throws Exception {
String pathname="D:"+File.separator+"课堂作业"+File.separator+"作业.txt";
aFormatA(pathname);
}
public static void aFormatA(String pathname) throws Exception {
File file=new File(pathname);
Reader input=new FileReader(file);
Writer out=new FileWriter(file,true);
int z;
out.write('\n');
String str="字母大写";
out.write(str);
out.write('\n');
while(true){
if((z=input.read())!=-1){
if(z>=97&&z<=122){
z=z-97+'A';
}
out.write(z);
}
else {
break;
}
}
input.close();
out.close();
} }
package 课堂作业;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream; public class Main1{
public static void main(String[] args) throws Exception{
String pathname="D:"+File.separator+"课堂作业"+File.separator+"作业.txt";
aFormatA(pathname);
}
private static void aFormatA(String pathname) throws Exception{
File file =new File(pathname);
InputStream input=new FileInputStream(file);
OutputStream out=new FileOutputStream(file,true);
byte[] b=new byte[(int)file.length()];
int i=0;
int z;
while(true){
if((z=input.read())!=-1){
if(z<=122&&z>=97){
z=z-97+'A';
}
b[i]=(byte)z;
i++;
}
else{
break;
}
}
out.write("\n字母大写\n".getBytes());
out.write(b);
input.close();
out.close();
} }

实验截图与代码截图

第十周java总结的更多相关文章

  1. 第十周java学习总结

    目录 第十周java学习总结 学习内容 代码上传截图 代码链接 第十周java学习总结 学习内容 第12章 Java多线程机制 主要内容 Java中的线程 Thread类与线程的创建 线程的常用方法 ...

  2. 20175215 2018-2019-2 第十周java课程学习总结

    第十二章 Java多线程机制 12.1 进程与线程 12.1.1 操作系统与进程 程序是一段静态的代码,它是应用软件执行的蓝本. 进程是程序的一次动态执行过程,它对应了从代码加载.执行至执行完毕的一个 ...

  3. 第十周Java实验作业

    实验十  泛型程序设计技术 实验时间 2018-11-1 1.实验目的与要求 (1) 理解泛型概念: 泛型:也称参数化类型,就是在定义类,接口和方法时,通过类型参数只是将要处理的类型对象.(如Arra ...

  4. 第十周java 学习总结

    20145306 java的网络编程 网络概述 网络编程技术是当前一种主流的编程技术,随着联网趋势的逐步增强以及网络应用程序的大量出现,所以在实际的开发中网络编程技术获得了大量的使用.至于以后的实际修 ...

  5. 20145307第十周JAVA学习报告

    教材学习内容总结 Java的网络编程 1.计算机网络概述 (1)路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤.网线等连接将设备连接起来,从而形成了一张巨大的计算 ...

  6. Java 第十周学习总结

    20145113<Java程序设计>第十周学习总结 基础知识 1.网络通讯的方式主要有两种 TCP(传输控制协议)方式:需要建立专用的虚拟连接以及确认传输是否正确 UDP(用户数据报协议) ...

  7. 20145213《Java程序设计》第十周学习总结

    20145213<Java程序设计>第十周学习总结 教材学习总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接 ...

  8. 21045308刘昊阳 《Java程序设计》第十周学习总结

    21045308刘昊阳 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 狭义的网络编程范畴:程序员所作的事情 ...

  9. 20145330第十周《Java学习笔记》

    20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...

随机推荐

  1. python读取文件出现\ufeff问题

    现象: 读取csv文件,表头为'ID',但读取后显示'\ufeffID',所以使用dict['ID']读取会报错 原因: 该文件保存时保存了BOM,保存于文件头部 解决: 将原有的 file_cont ...

  2. "TypeError: handler.call is not a function"问题

    进入组件页面时,vue报错:Error in mounted hook: "TypeError: handler.call is not a function", 造成报错原因就是 ...

  3. maven项目创建2

    添加依赖索引 但是默认是没有索引的,要手动创建索引 依赖范围 debug  配置 运行常见问题 处理办法,JDK重新安装 网络添加依赖网站

  4. 手动升级 Confluence 6 - 升级问题解决

    升级失败了? 如果你需要对你的升级进行回退,你必须首先恢复你老的 Confluence 备份.不要尝试再次进行升级,也不要尝试再次对升级失败的 Confluence 进行再次启动.  在升级过程中遇到 ...

  5. FFT用于高效大数乘法(当模板用)

    转载来源:https://blog.csdn.net/zj_whu/article/details/72954766 #include <cstdio> #include <cmat ...

  6. php的while函数

    PHP while 循环 PHP Switch PHP For 循环 PHP while 循环在指定条件为 true 时执行代码块. PHP 循环 在您编写代码时,经常需要反复运行同一代码块.我们可以 ...

  7. 分布式-信息方式-ActiveMQ构建应用

                                                     ActivemQ构建应用Broker:相当于一个 ActiveMQ服务器实例命令行启动参数示例如下:1 ...

  8. 两个html之间进行传值,如何进行?

    function turnto(){ var getval=document.getElementById("text").value; turngetval=escape(get ...

  9. 第四周课程总结&实验报告

    实验报告 1.写一个名为Rectangle的类表示矩形. 其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求 ...

  10. typescript 第二部分

    ts 中不允许变量同名 函数定义的两种方式 第一种:命名函数 = 声明式定义 function fn(){} 第二种:匿名函数 var fn = function(){} function fn(x: ...