二、javase基礎知識總結(從檔案 I/O開始)
33、Java I/O輸入輸出流
一、主要學習的知識點
1、解決編碼問題
2、File類的使用
3、RandomAcessFile的使用
4、位元組流的使用
5、字元流的使用
6、物件的序列化和反序列化
34、編碼問題
1、把字串用專案的預設編碼輸出 s.getByte();
String s ="慕課網IM";
byte[] byte1 = s.getBytes();//把字串轉換成位元組序列,用的是專案的預設編碼GBK
for(byte b: byte1){
//把位元組陣列轉化成int以16進位制輸出
System.out.print(Integer.toHexString(b & 0xff )+",");
//& 0xff是為了把前面的24個0去掉只留下後八位
}
2、把字串以指定的編碼方式輸出 s.geBytes("GBK");
String s ="慕課網IM";
System.out.println("GBK編碼後的16進位制");
byte[] byte2 = s.getBytes("gbk");
//gbk編碼:中文佔用2個位元組,英文佔用1個位元組
for(byte b: byte2){
System.out.print(Integer.toHexString(b & 0xff )+",");
}
3、位元組編碼總結
gbk編碼: 中文佔用兩個位元組,英文佔用一個位元組
utf-8編碼:中文佔用三個位元組,英文佔用一個位元組
java是雙位元組編碼,是utf-16be編碼
utf-16be編碼:中文佔用兩個位元組,英文佔用兩個位元組
另外:文字檔案就是位元組序列,可以是任意編碼的位元組序列
35、當你希望用某種編碼方式來輸出而又不出現亂碼的方式
/**
*當你的位元組序列是某種編碼時,這個時候想把位元組序列變成字串,也需要用這種編碼方式,否則會出現亂碼
*/
System.out.println();
byte[] byte5 = s.getBytes("UTF-8");
String str1 = new String(byte5,"utf-8");
System.out.println("以utf-8的編碼方式來輸出"+str1);
36、File類的常用API
Java.io.File類表示檔案或目錄,只用於表示檔案或目錄的資訊,不能用於檔案的訪問。
常用的API:
1、建立File物件:File file = new File(String path); 注意:File.seperater();獲取系統分隔符,如:""
2、boolean file.exists();判斷檔案是否存在
3、file.mkdir();或者。file.mkdirs;建立目錄或多級目錄
4、file.isDirectory();或者file.isFile();判斷是否是目錄,或者是否是檔案。
5、file.delete();//刪除檔案或目錄
6、file.createNewFile();//建立新檔案
7、file.getName();//獲取檔名稱或目錄的絕對路徑
8、file.getAbsolutePath();//獲取絕對路徑
9、file.getParent();//獲取父級絕對路徑
10、file.getSize();//獲取檔案大小
11、file.getFormat();//獲取檔案格式
參考程式碼
package com.leeue.file;
import java.io.File;
import java.io.IOException;
/**
*
* 功能:這裡列出File檔案類的所有的API
* @author:李月
* @Version:
* @Date 2017年11月11日 下午3:57:08
*/
public class FileAPI {
/**
* 瞭解File類的建構函式
*/
public void testConstructor(){
/*
* 第一種建構函式
*/
File file = new File("F:\javaio");//這裡注意把""變成"\"
File file1 = new File("F:"+File.separator);//使用 File.sepearator 這個來設定斜槓
System.out.println(file.exists());// --- true
if(file.exists()){
System.out.println("這個目錄存在,正在刪除這個目錄");
file.delete();//刪除這個目錄
}else{
System.out.println("這個目錄不存在,開始建立這個目錄");
file.mkdir();//建立目錄,根據file的路徑
}
//判斷是否是一個目錄
System.out.println("是否是目錄 "+file.isDirectory());
//判斷是否是檔案
System.out.println("是否是檔案"+file.isFile());
/**
* 直接建立檔案物件
*/
//File file2 = new File("F:\javaio\檔案.txt");
File file2 = new File("F:\javaio","檔案.txt");//第二種檔案建立方式
if(file2.exists()){//如果這個檔案存在就會刪除這個檔案
System.out.println("檔案存在,正在刪除這個檔案");
file2.delete();//刪除這個檔案
}else{
try {
System.out.println("檔案不存在,正在建立檔案");
file2.createNewFile();//如果這個檔案不存在就建立這個檔案
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//常用的file物件API
System.out.println(file);//直接列印file,是列印file的路徑 file.toString();內容
System.out.println(file.getAbsolutePath());
System.out.println(file.getName());
}
/**
*
* @param args
*/
public static void main(String[] args) {
//
FileAPI fa = new FileAPI();
fa.testConstructor();
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2331/viewspace-2799640/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaSE基礎知識總結Java
- JavaSE基礎知識分享(二)Java
- JAVA基礎知識精華總結(二)Java
- JavaSE基礎知識分享(一)Java
- JavaSE基礎知識分享(三)Java
- JavaSE基礎知識分享(四)Java
- JavaSE基礎知識分享(五)Java
- JavaSE基礎知識分享(六)Java
- JavaSE基礎知識分享(七)Java
- JavaSE基礎知識分享(八)Java
- JavaSE基礎知識分享(九)Java
- JavaSE基礎知識分享(十)Java
- JavaSE基礎知識分享(十一)Java
- JavaSE基礎知識分享(十二)Java
- JavaSE基礎知識分享(十四)Java
- JavaSE基礎知識分享(十五)Java
- JavaSE基礎知識分享(二)相關練習題Java
- JavaSE基礎知識學習-----集合Java
- Java基礎知識總結Java
- React 基礎知識總結React
- 索引基礎知識總結索引
- MySql基礎知識總結MySql
- php基礎知識總結PHP
- Rust 基礎知識總結Rust
- JavaSE基礎知識學習—–多型Java多型
- JavaSE基礎學習知識整理大全Java
- JavaSE基礎 (全網最全知識點)Java
- JavaSE基礎知識學習-----多型Java多型
- JavaSE基礎知識學習-----Object類JavaObject
- JavaSE基礎知識學習-----繼承Java繼承
- JavaSE小知識(二)Java
- javaSE從零開始04_java的基礎語法Java
- JS基礎知識深入總結JS
- ES 基礎知識點總結
- Java基礎知識點總結Java
- Java基礎知識總結-1Java
- Redis 基礎知識點總結Redis
- SpringIOC基礎知識總結Spring