2011年5月21日星期六

第四十四讲 io编程

1.创建文件用:f2.createNewFile();

创建文件夹:f3.mkdir();

2.列出文件: File lists[]=f4.listFiles();

package IOStream;

import java.io.*;

public class Demo11_1

{

public static void main(String[] args)

{

File f=new File("d:/a.txt");

//得到文件的路劲

System.out.println("文件路径:"+f.getAbsolutePath());

//得到文件的大小

System.out.println("文件大小:"+f.length());// 返回文件的字节大小

System.out.println("可读:"+f.canRead());//可不可读

//创建文件和文件夹

File f2=new File("d:\\hsp.txt");

if(!f2.isFile())

{

//可以创建

try {

f2.createNewFile();

} catch (IOException e) {

e.printStackTrace();

}

}else

{

System.out.println("有文件不能创建");

}

//创建文件夹

File f3=new File("d:\\ffddd");

if(f3.isDirectory())

{

System.out.println("文件夹存在");

}

else

{

f3.mkdir();

}

//列出文件夹下面的所有文件

File f4=new

File("d:\\dd");

if(f4.isDirectory())

{

File

lists[]=f4.listFiles();

for(int i=0;i

{

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

}

}

else

{

f4.mkdir();

}

}

}

3.文件字节流

读取文件:FileInputStream,因为File没有读写能力,所以用个FileInputStream

4.记得关闭文件

package IOStream;

import java.io.*;

public class Demo11_2

{

public static void main(String[] args)

{

File f=new File("d:\\test.txt");

FileInputStream fis=null;

try {

//因为File没有读写能力,所以用个FileInputStream

fis=new FileInputStream(f);

//定义一个字节数组,相当于是缓存

byte []bytes=new byte[1024];

//得到实际读取到的字节数

int n=0;

//循环读取

while((n=fis.read(bytes))!=-1)

{

//把字节转化成String

String s=new String(bytes,0,n);

System.out.println(s);

}

}

catch (Exception e)

{

e.printStackTrace();

}

finally

{

//关闭文件流要放在这里

try

{

fis.close();

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

}

5.

package IOStream;

import java.io.*;

public class Demo11_3

{

public static void main(String[] args)

{

File f=new File("d:\\ss.txt");

//字节输出流

FileOutputStream fos=null;

try

{

fos=new FileOutputStream(f);

//如果数据量大的话,定义数组,把String转换成字节数组,这里就buy

String s="12312231235555\r\n";//必须是回车再换行,注意顺序

String s2="ddddddd";

fos.write(s.getBytes());

fos.write(s2.getBytes());

}

catch (Exception e)

{

e.printStackTrace();

}

finally

{

try {

fos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

第四十五讲 iO编程

1.图片拷贝

package com.test4;

import java.io.File;

import java.io.FileInputStream;

import

java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

public class Demo12_4

{

public static void main(String[] args)

{

//先把图片读入到内存,再想办法将其写入某个文件

//因我是二进制文件,因此只能用字节流完成

FileInputStream fis=null;

//定义输出流

FileOutputStream fos=null;

try

{

File f1=new File("c:\\a.jpg");

fis=new FileInputStream(f1);

fos=new FileOutputStream("d:\\a.jpg");

byte buf[]=new byte[1024];

int n=0;//记录实际读取的字节数

//循环次数

while((n=fis.read(buf))!=-1)

{

//输出到指定文件

fos.write(buf);

}

}

catch (Exception e)

{

e.printStackTrace();

}

finally

{

try {

fis.close();

fos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

2.

3.

package com.test4;

import java.io.*;

public class Demo12_5

{

public static void main(String[] args)

{

//文件取出字符流对象

FileReader fr=null;

//写入到文件

FileWriter fw=null;

try

{

//创建fr对象

fr=new FileReader("c:\\ttt.txt");

//创建输出对象

fw=new FileWriter("d:\\ccc.txt");

int n=0;//记录实际读取到的字符数

char c[]=new char[1024];

while((n=fr.read(c))!=-1)

//read返回已经读取的数目,到了文件的末尾就返回-1,read本身有两种状态,要么刚读完返回c.length要么返回-1,所以相当于只有两个过程

{

System.out.println("n="+n);

String s=new String(c,0,n);//从0开始读取n个

System.out.println(s);

//fw.write(c);//写了所有的整块数据,1024的整数倍

fw.write(c, 0, n);//按照实际长度写,不会有浪费的码

}

}

catch (Exception e)

{

e.printStackTrace();

}

finally

{

try {

fw.close();

fr.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

4.常用IO流——缓冲字符流,直接操作String

BufferedReader StreamReader

5.总结:

FileInputStream文件字节流:

File f=new

File("d:\\test.txt");

FileInputStream fis=null;

FileReader文件字符流: fr=new FileReader("c:\\ttt.txt");

fw=new FileWriter("d:\\ccc.txt");

BufferedReader缓冲字符流: fr = new FileReader("c:\\ttt.txt");

(读行)

br=new BufferedReader(fr);

第四十六讲 IO编程 记事本开发

package com.test7;

import java.io.*;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class NotePad

extends JFrame implements ActionListener

{

//定义需要的组件

JTextArea

jta=null;

//定义菜单条

JMenuBar

jmb=null;

//第一JMenu

JMenu

jm1=null;

JMenuItem

jmi1=null;

JMenuItem

jmi2=null;

public static void main(String[] args)

{

NotePad notepad=new NotePad();

}

public NotePad()

{

//创建jta

jta=new JTextArea();

jmb=new JMenuBar();

jm1=new JMenu("文件");

jm1.setMnemonic('F');

jmi1=new JMenuItem("打开",new

ImageIcon("weixiao.gif"));

jmi2=new JMenuItem("保存",new

ImageIcon("ziya.gif"));

//注册监听

jmi1.addActionListener(this);

jmi1.setActionCommand("open");

//对保存菜单的操作

jmi2.addActionListener(this);

jmi2.setActionCommand("save");

jm1.add(jmi1);

jm1.add(jmi2);

jmb.add(jm1);

this.setJMenuBar(jmb);

//放入到JFrame

this.add(jta);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setSize(400, 300);

this.setVisible(true);

}

public void actionPerformed(ActionEvent e)

{

//判断哪个菜单被选中

if(e.getActionCommand().equals("open"))

{

//System.out.println("open");

//使用JFileChooser

JFileChooser jfc1=new JFileChooser();

//设置名字

jfc1.setDialogTitle("请选择文件:");

jfc1.showOpenDialog(null);

//显示

jfc1.setVisible(true);

//得到用户选择的文件路径

String filename=jfc1.getSelectedFile().getAbsolutePath();

//System.out.println(filename);//显示绝对路径

FileReader fr=null;

BufferedReader br=null;

try

{

fr=new FileReader(filename);

br=new BufferedReader(fr);

//从文件中读取信息

String s="";

String allCon="";

while((s=br.readLine())!=null)

{

//输出到JTextFile

allCon+=(s+"\r\n");

}

//放置到JTextFile中

jta.setText(allCon);

}

catch (Exception e1)

{

e1.printStackTrace();

}

finally

{

try {

br.close();

fr.close();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

else if (e.getActionCommand().equals("save"))

{

JFileChooser jfc2=new JFileChooser();

jfc2.setDialogTitle("另存为…");

jfc2.showSaveDialog(null);

//按默认的方式显示

jfc2.setVisible(true);

//得到用户希望把文件保存到何处

String file=jfc2.getSelectedFile().getAbsolutePath();

//准备写入到指定的文件

FileWriter fw=null;

BufferedWriter bw=null;

try

{

fw=new FileWriter(file);

bw=new BufferedWriter(fw);

bw.write(this.jta.getText());

}

catch (IOException e1)

{

e1.printStackTrace();

}

finally

{

try {

bw.close();

fw.close();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

}

}

韩顺平java制作记事本_2011-05-21——Java从入门到精通(韩顺平)自己整理的笔记(包括记事本的开发)...相关推荐

  1. 《Dreamweaver CS6完美网页制作——基础、实例与技巧从入门到精通》——1.3 常用网页设计软件...

    本节书摘来自异步社区<Dreamweaver CS6完美网页制作--基础.实例与技巧从入门到精通>一书中的第1章,第1.3节,作者:何新起 更多章节内容可以访问云栖社区"异步社区 ...

  2. 《Dreamweaver CS6完美网页制作——基础、实例与技巧从入门到精通》——1.2 网页的基本构成元素...

    本节书摘来自异步社区<Dreamweaver CS6完美网页制作--基础.实例与技巧从入门到精通>一书中的第1章,第1.2节,作者:何新起 更多章节内容可以访问云栖社区"异步社区 ...

  3. java制作五子棋的论文,基于java的五子棋的设计与实现.docx

    摘要:随着社会的不断发展,我们的科技也不断的进步,现在我们的计算机也与我们的生活息息相关,这个时候 Internet能够让我们快速的知道自己想了解的知识.根据计算机的发展过程我们发现如今计算机应用的现 ...

  4. 超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer!

    最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思 ...

  5. java制作我的世界_Minecraft Java版整合包制作教程

    本教程将带领你制作Minecraft Java版的整合包 不多BB教程来啦: 1:确认你的电脑安装了Java,若没安装,请先到官网下载安装:https://www.java.com/zh_CN/[注意 ...

  6. java制作海报工具类,java操作图片贴图,java给图片添加文字,调整字体颜色大小间距

    工具类 java操作图片,给一个大图片贴小图片,给图片添加文字并调整文字颜色,大小,字体间距,把本地图片或者网络图片加载到缓冲区 主要方法: imageIoRead方法,把图片加载到缓冲区 merge ...

  7. Java程序设计语言基础05:Java的类和对象

    目录 1. 类的定义与组成 1.1 类的定义 2.2 类的使用 2. 类.对象和引用 2.1 类 2.2 对象 2.3 引用 3. 类的知识扩展 3.1 成员变量初始值 3.2 在类中定义自己的引用 ...

  8. java制作网易邮箱登录页面,java调用网易邮箱需要注意的点

    1.需要开启客户端授权码 授权码开启 https://blog.csdn.net/jinwufeiyang/article/details/76400708?locationNum=7&fps ...

  9. java从入门到精通第8章_《Java从入门到精通》第七章学习笔记

    第7章 类和对象 一.类和对象的定义及关系 1.类是同一类别对象的抽象定义:可以理解为是某一类具体对象的模子,确定对象将会拥有的特性,包括该类对象具备的属性和方法. 2.对象是对类的一种具体化的客观存 ...

  10. Java接入微信支付超级详细教程——从入门到精通

    源码下载 源码获取邮箱:xiaoshu1024@qq.com 本文介绍了"二维码付款"的代码.其他微信支付方式的代码都在源码中. 一.准备开发所需的账号以及配置信息 解释:想要接入 ...

最新文章

  1. Hadoop学习13--zookeeper相关
  2. (NO.00003)iOS游戏简单的机器人投射游戏成形记(十二)
  3. IOS(objective-c)实现md5加密(32位小写)的工具类
  4. 在 Windows 窗体 DataGridView 单元格中承载控件
  5. 一文读懂云计算和PAYG“现付现用”模型
  6. Java多线程时内存模型
  7. kohana::模板全攻略
  8. oracle select机制_ORACLE的工作机制(转载)
  9. 小字体小行高兼容性分析及差异解决办法
  10. html页面点击生成图片并可以下载图片
  11. pthread_sigmask
  12. 2021-01-19 :在pycharm中创建包含anaconda中各种库的环境
  13. win7定时关机命令_如何让win7操作系统实现定时关机,以防我们忘记电脑关机
  14. 回声消除(AEC)初体验之matlab仿真
  15. 关于中文分词的一元分词讨论
  16. 计算机管理-磁盘管理中进行扩展卷操作,管理磁盘diskpart命令
  17. 游戏王,查卡器,编号,开源,代码,OCG,程序
  18. 4、Arduino_esp32 ADC使用
  19. 【Go】Go语言中的下划线
  20. 配置域名 二级,三级的泛解析

热门文章

  1. 怎么获取红米Note 4X的Root权限
  2. 泛娱乐生态倒逼,各大视频为何抢位3D动画?
  3. sql 除法计算一直 为0原因及解决方案
  4. WORD设置标题格式
  5. 跨平台App开发的新趋势
  6. android+仿ios+音乐播放器,iOS简单的音乐播放器(仿QQ音乐)
  7. Vue项目中mockjs简单应用
  8. tomcat7w.exe启动失败,未注册成服务,以及配置Tomcat系统环境变量
  9. 从零开始的Flutter入门实战(二)
  10. 伺服驱动器生产文件_伺服驱动器程序源代码 程序源代码文件