java改
❶ java應該怎麼改
一個.java文件中只允許定義一個public的類,而且要求這個類必須和所在的.java文件同名,你在一個文件里定義了2個public的類,把它拆分出來,拆到不同的文件里去
❷ java修改文件後綴名
以下程序實現的功能是批量修改文件後綴:
import java.io.*;
/**
* JAVA實現的批量更改文件後綴名的程序。
*
* @author rommnn
*/
public class ExtBatchRename {
/**
* 修改程序。<br>
* 內部遞歸調用,進行子目錄的更名
*
* @param path
* 路徑
* @param from
* 原始的後綴名,包括那個(.點)
* @param to
* 改名的後綴,也包括那個(.點)
*/
public void reName(String path, String from, String to) {
File f = new File(path);
File[] fs = f.listFiles();
for (int i = 0; i < fs.length; ++i) {
File f2 = fs[i];
if (f2.isDirectory()) {
reName(f2.getPath(), from, to);
} else {
String name = f2.getName();
if (name.endsWith(from)) {
f2.renameTo(new File(f2.getParent() + "/" + name.substring(0, name.indexOf(from)) + to));
}
}
}
}
public static void main(String[] args) {
ExtBatchRename rf = new ExtBatchRename();
rf.reName("d:/www.laozizhu.com", ".jsp", ".html");
}
}
❸ Java 修改編碼格式的幾種方式
主要分response的位元組字元輸出流和request接受中文參數doGet(),doPost()的設置四種.以及從伺服器下載文件到瀏覽器的編碼問題.
都是我學習java時總結的,希望能幫到你.
response的位元組輸出流:
// 設置瀏覽器默認打開的時候採用的字元集編碼
response.setHeader("Content-Type", "text/html;charset=UTF-8");
// 設置中文轉成位元組數組的時候取出的編碼
response.getOutputStream().write("如果不設置編碼,這里就是亂碼".getBytes("UTF-8"));
response的字元輸出流:
//設置瀏覽器默認打開的時候採用的字元集編碼,response的字元流的緩沖區的編碼.
response.setContentType("text/html;charset=UTF-8");
response.getWriter().println("中文");
request的doGet()編碼解決:
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
System.out.println("GET方式:"+name);
request的doPost()編碼解決:
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
System.out.println("POST方式:"+name);
下載文件時瀏覽器編碼問題:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 1.接收參數
String filename = new String(request.getParameter("filename").getBytes("ISO-8859-1"),"UTF-8");
System.out.println(filename);
// 2.完成文件下載:
// 2.1設置Content-Type頭(獲取文件的mime類型)
String type = this.getServletContext().getMimeType(filename);
//設置文件的mime類型
response.setHeader("Content-Type", type);
// 2.3web項目文件的絕對路徑
String realPath = this.getServletContext().getRealPath("/download/"+filename);
// 獲得瀏覽器的類型處理中文文件的亂碼問題.(User-Agent:伺服器收到客戶端版本之類的一些信息)
String agent = request.getHeader("User-Agent");
System.out.println(agent);
if(agent.contains("Firefox")){
filename = base64EncodeFileName(filename);
}else{
//IE谷歌編碼
filename = URLEncoder.encode(filename,"UTF-8");
}
// 2.2設置Content-Disposition頭(固定寫法,讓瀏覽器必須下載,不能直接打開)
response.setHeader("Content-Disposition", "attachment;filename="+filename);
//獲得文件
InputStream is = new FileInputStream(realPath);
// 獲得response指定的方法獲取輸出流:如果用其他流是直接拷貝而不是下載
OutputStream os = response.getOutputStream();
int len = 0;
byte[] b = new byte[1024];
while((len = is.read(b))!= -1){
os.write(b, 0, len);
}
//響應流可以不關,在伺服器做出相應後伺服器會自動把response獲得的流關閉
is.close();
}
//火狐
public static String base64EncodeFileName(String fileName) {
BASE64Encoder base64Encoder = new BASE64Encoder();
try {
return "=?UTF-8?B?"
+ new String(base64Encoder.encode(fileName
.getBytes("UTF-8"))) + "?=";
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
❹ 如何更改java默認版本
java默認版本是指jdk版本 ?
windows下 就卸載充裝新版本就行了,linux下解壓後配置
# vi /etc/profile
在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL上面增加下面內容
java -versoin //查看當前jdk版本後再安裝
export JAVA_HOME=/usr/java/jrockit-jdk1.6.0_37-R28.2.5-4.1.0 //當前JDK的版本文件夾
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
保存退出,執行如下命令立即生效以上環境配置
# source /etc/profile
❺ java怎麼修改文件名稱
一般的操作:
Filefile=newFile("word.txt");
Stringfilename=newString("word1.txt");//更改後的文件名
file.renameTo(filename);//更改文件名操作
判斷是否已經更改文件名:
Filefile=newFile("word.txt");
Stringfilename=newString("word1.txt);
if(file.renameTo(filename)){
System.out.println("修改文件名成功");
}else{
System.out.println("修改文件名失敗");
}
file是更改文件名之前的文件,可以為絕對路徑或相對路徑:
絕對路徑可表示為:File file=new File("D:/word.txt");
相對路徑的根文件夾與src文件夾同級,如File file=new File("worddir/word.txt");中的worddir文件夾與src同級
filename是更改文件名之後的文件的文件名(包含後綴)