java文件批量轉碼,Java批量上傳文件

本文目錄一覽:

已經是GBK編碼的Eclipse寫的項目 怎麼轉到UTF8而不亂碼

1、基本思路:一個一個打開修改效率低,這個小需求也不用自己寫程序實現。充分利用UltraEdit的強大能力。先用一個辦法,一次性全部打開工程下的java文件,再用一個辦法,一次性更改保存。一次性全部打開的方法在UE的快速打開功能中就有,但需要一點操作技巧。一次性更改保存我開始考慮用其錄製宏的方式實現,但我的UE15.1這個版本,可能有一個BUG,錄製ANSI轉UTF-8的命令失敗,只好用另一個辦法,即先將ANSI轉UTF-8的命令設置成一個快捷鍵,如CTRL+ALT+U,再錄製一個保存文件再關閉文件的宏,並將其設置快捷鍵,如CTRL+ALT+I,這樣只需要一次性全部打開java文件後,按住CTRL+ALT不放,反覆交替按U和I,即可改好,雖然不完美(因為那個錄製的BUG),但1分鐘內,也可以改好200個java文件。

2、具體操作:打開UE,先設置好ANSI轉UTF-8命令的快捷鍵,在UE的高級-配置中,打開配置選項,在查找中輸入“鍵”便可找到鍵映射的設置,雙擊然後在其命令中找到FileConvASCIIToUTF8(Unicode Editor),在按下(多個)熱鍵下的文本框中點擊鼠標,然後按CTRL+ALT+U設置成快捷鍵。之後,一次性打開全部java文件,從UE的文件中,用快速打開菜單,在彈出的對話框中,如果顯示的默認路徑不是你的工程路徑,那麼你可以任意打開一個你工程目錄下的文本文件,這樣就讓UE記住這個路徑了,因為此處不能任選路徑,我們希望一次性打開所有文件,而不是一個一個打開,當UE記住這個路徑後,在上面的文本框中輸入*.java,在最下邊的checkbox中,勾選包括子目錄,再點擊打開,這樣就可將工程下的所有java文件一次性打開。第三步就是錄製一個宏,實現保存和關閉文件,並將其設置快捷鍵如CTRL+ALT+I,這個比較簡單,在此略過。最後一步就是按快捷鍵了。

java 怎麼gbk轉碼utf-8

方法一:

思路:先轉為Unicode,然後轉為GBK

String utf8 = new String(t.getBytes( “UTF-8”));  

System.out.println(utf8);  

String unicode = new String(utf8.getBytes(),”UTF-8″);   

System.out.println(unicode);  

String gbk = new String(unicode.getBytes(“GBK”));  

  

System.out.println(gbk);

方法二:

public static void main(String[] args) {

        String str=”字符串編碼轉換”;

        try {

          byte[] temp=str.getBytes(“utf-8”);//這裡寫原編碼方式

            byte[] newtemp=new String(temp,”utf-8″).getBytes(“gbk”);//這裡寫轉換後的編碼方式

            String newStr=new String(newtemp,”gbk”);//這裡寫轉換後的編碼方式

            System.out.println(newStr);

        } catch (UnsupportedEncodingException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

java文件讀取內容轉碼

讀取的文件流如果是read(讀取字節流的時候,中文就會是亂碼)方法,所以現在全都是聽過readline方式進行的讀取。舉例:

可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。

BufferedReader bre = null;

try {

String file = “D:/test/test.txt”;

bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流

while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環

{

System.out.println(str);//原樣輸出讀到的內容

};

bre.close(),//關閉流,否則bre流會一直存在,直到程序運行結束。

除此之外,java文件讀取的時候有中文就很出現亂碼,通常獲取到的文件中通常都是“iso8859-1”格式,需要轉換為“UTF-8”格式。

如:String str = new String(str.getByte(“iso8859-1”),”UTF-8″);進行下強制轉換後在進行讀取即可。

備註:通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的強制轉換不成功,依次進行這些格式的嘗試,肯定是可以解決問題的。

如何批量的把所有文件夾中所有的擴展名為.java的文件轉為.txt文件方便閱覽!

層層嵌套的話就要使用遞歸了 我給你寫一個程序吧

這種方法是把所滿足需求的文件都複製到另一個文件夾  如果要在源文件的基礎上直接重命名的話就更簡單了 用File 類的renameTo()方法  不用複製  看樓主需求了

import java.io.*;

public class Test{

 public static void main(String[] arags)throws Exception{

  File src = new File(“C:\\Program Files\\Java”);//這裡傳你文件夾源路徑

  File tar = new File(“d:\\test”);//這裡傳所有轉換後的文件存放路徑

  tar.mkdirs();//創建這個目錄

  find(src,tar);

 }

 public static void find(File file,File tar)throws Exception{

  File[] files = file.listFiles();

  if(files == null)return;

  for(File f : files){

   if(f.isDirectory())

    find(f,tar);

   String name = f.getName().toLowerCase();

   if(name.endsWith(“.java”)){

    String str = name.replace(“.java”,”.txt”);

    File newTar = new File(tar,str);

    copy(f,newTar);

    System.out.println(name);

   }

  }

 }

 public static void copy(File src,File tar)throws Exception{

  int x = 512  10;//定義緩衝區大小為512KB

  BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src),x);

  BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(tar),x);

  int len;

  byte[] data = new byte[x];

  while((len = bis.read(data,0,x)) != -1)

   bos.write(data,0,len);

  bos.close();

  bis.close();

 }

}

原創文章,作者:NGJY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134336.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
NGJY的頭像NGJY
上一篇 2024-10-04 00:05
下一篇 2024-10-04 00:05

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論