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. 批处理(.bat)文件使用笔记

    color: 一位参数时→改变字体颜色,例如 color a 就是修改字体为亮绿色. 两位参数时→改变背景和字体颜色,第一位参数为背景颜色值,第二位参数为字体颜色值. color [BF] B:背景颜 ...

  2. Angular 主从组件

    此刻,HeroesComponent 同时显示了英雄列表和所选英雄的详情. 把所有特性都放在同一个组件中,将会使应用“长大”后变得不可维护. 你要把大型组件拆分成小一点的子组件,每个子组件都要集中精力 ...

  3. Codeforces Round #578 (Div. 2) Solution

    Problem A Hotelier 直接模拟即可~~ 复杂度是$O(10 \times n)$ # include<bits/stdc++.h> using namespace std; ...

  4. AcWing:138. 兔子与兔子(字符串Hash)

    很久很久以前,森林里住着一群兔子. 有一天,兔子们想要研究自己的 DNA 序列. 我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含 26 个小写英文字母). 然后我们每 ...

  5. UIButton设置按钮点击范围大于可视范围

    自定义按钮类型CustomButton,继承UIButton,重写pointInside函数改变点击响应范围. 例如,按钮点击范围比实际高度上下增加6. CustomButton.h @interfa ...

  6. docker-compose部署redis-cluster

    node1-node6 1.到http://download.redis.io/redis-stable/redis.conf下载官方redis.conf文件 2.修改对应端口 # bind 127. ...

  7. 线性回归和正则化(Regularization)

    python风控建模实战lendingClub(博主录制,包含大量回归建模脚本和和正则化解释,2K超清分辨率) https://study.163.com/course/courseMain.htm? ...

  8. MPP - GreenPlum数据库安装以及简单使用

    一.集群介绍 共3台主机,ip 为193.168.0.93   193.168.0.94  193.168.0.95 集群对应master和segment如下,193.168.0.93为master节 ...

  9. 【flask】表单-上传文件

    依赖: flask-wtf upload_case.html <!DOCTYPE html> <html lang="en"> <head> & ...

  10. linux 下的快捷键操作

    概述 今天发现自己码代码的效率有点低,所以查找了一下 linux 常用的快捷键操作,记录下来,供以后开发时参考,相信对其他人也有用. linux 终端常用快捷键 tab:补全命令 Ctrl + u:剪 ...