Java基础小知识1——分别使用字节流和字符流复制文件

作者:荒原之梦

前言:在日常使用计算机过程中经常会涉及文件的复制,今天我们就从Java代码的角度,看看在Java程序中文件复制的过程是如何实现的。

1.使用字节流缓冲区复制文件

示例代码如下:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;

public class Test2 {
public static void main(String[] args) throws Exception{
  InputStream in = new FileInputStream("bbb\\aaa.txt");
  FileOutputStream out =new FileOutputStream("ccc\\aaa.txt");
  int len;
  while ((len=in.read())!=-1){
    out.write(len);
  }
  in.close();
  out.close();
}
}

运行完代码,刷新目录后,ccc文件夹下就会出现从bbb文件夹里复制过来的文件aaa.txt

图 1

2.使用字符流复制文件

示例代码如下:

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOError;

public class Test3 {
  public static void main(String[] args) throws Exception{
    FileReader rea = new FileReader("bbb\\aaaaaa.txt");
    FileWriter wri = new FileWriter("ccc\\aaaaaa.txt");
    int a;
    while((a=rea.read())!=-1){
      wri.write(a);
    }
    rea.close();
    wri.close();
  }
}

运行完代码,刷新目录后,ccc文件夹下就会出现从bbb文件夹里复制过来的文件aaaaaa.txt

图 2

在单用户模式下修改CentOS的root密码

作者:荒原之梦

前言:我们在使用CentOS的过程中可能会发生忘记root用户密码的情况,本文就从应用的角度简单介绍一下如何在单用户模式下修改root用户的密码。

  • 开启CentOS,进入系统启动菜单

将光标停留在系统开机时默认的启动项(如下图绿色区域所示),然后根据蓝色区域的提示内容“按下e键编辑已经选中的项目”的提示按下e键,进行下一步操作。

图 1
  • 修改操作的前期准备

按下e键后我们可能无法看到我们需要编辑的区域,这是因为在较新版本的CentOS中这个编辑页面不是一次显示完的,我们可以看到两个箭头分别指向上和下,使用上下方向键向下翻就会找到我们需要编辑的位置了。

图 2

翻到下面后就是这个页面,我们要编辑的内容就是蓝色区域所示的两个位置。我们要把其中的” ro”替换成” rw init=/bin/sh”,并把rhgb quiet删除。

图 3

修改后的页面如下:

图 4

其中rw后面的\是修改时系统自动加上去的,表示换行的意思。

  • 开始修改密码的相关操作

按上述步骤修改完成后,按Ctrl+X组合键启动系统。输入passwd并两次输入新的root密码,之后输入“touch /.autorelabel”(用于selinux重启后更新label)和“exec /sbin/init”(正常启动init进程,重启),然后回车。

图 5

等待系统完成更新后就可以使用修改后的密码进入系统:

图 6

公告

出于学习和研究之目的,根据计划,本人将在本站所在服务器上进行一系列部署更新与更改工作,届时本站可能出现短时或长时间的访问异常。具体公告如下:

1.优化服务器磁盘数据存储情况,备份重要数据。

2.优化网站页面布局。

3.开展有关于电子邮件服务器配置的实践性工作。

4.配置服务于本人个人的有关服务。

5.本人保证所有将要在本站服务器上进行的操作都将以合法和公开的方式进行,所有操作都不会对网络中非本人所拥有的服务器和其他电子计算机造成危害。具体工作内容将随着本人工作的开展在不损害本人合法利益的前提下逐步公告。

6.以上工作将于2017年07月30日下午19点整陆续开展,特此公告。

荒原之梦

2017年07月30日

公告

1.本网站主要用于本人(即本网站法定所有者)学习测试之用,因此本网站随时可能无法访问。

2.本网站拥有完善的网络安全防御机制,本人原则上不同意任何形式和目的的网络攻击行为。请勿对本网站采取DDoS攻击、端口扫描、注入、网络监听等行为,否则本网站保留在法律允许的范围内采取合理反制措置的权利。

3.本网站将发布一些本人的文章,除非特殊声明,所有在本网站发布的文章均为本人独立创作,其著作权归本人所有。