把字符串中的+號變成空格,過濾需要做文件名的字符串

剛開始做一個項目,文件名是在header裏的,我是從請求的url裏(字符串)分離出文件名的。

例如&title=Calvin+Klein+Ad+-+Saturday+Night+Live,得到的url裏有這樣一個字段。於是我用笨方法寫了一個工具方法。

public static String getFileNameFromUrl(String url) {

		if (url.startsWith("https")) {
			String filename = "";
			String filenameTemp = null;
			// 得到title字段的索引
			int nameIndexTemp = url.indexOf("title=");
			// title字段+6是所要的標題字符串
			int nameIndex = nameIndexTemp + 6;
			// 用title字段找到下一個&所在的位置,用來判斷是不是最後一個字段
			int nextSplit = url.indexOf("&", nameIndex);
			if (nextSplit == -1) {
				filenameTemp = url.substring(nameIndex);
			} else {
				filenameTemp = url.substring(nameIndex, nextSplit);
			}
			String[] name_arr = filenameTemp.split("\\+");
			for (int i = 0; i < name_arr.length; i++) {
				filename += name_arr[i];
				filename += " ";
			}
			filename = filename.substring(0, filename.length());
			String nameTemp = null;
			Uri uri = Uri.parse(filename);
			nameTemp = uri.getPath();
			return nameTemp + ".mp4";
		} else {
			URL uRL = null;
			try {
				uRL = new URL(url);

			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			String temp = uRL.getFile();
			String nameTemp = temp.substring(temp.lastIndexOf('/') + 1);
			return nameTemp;
		}

	}

後來我直接用名字做文件名,但是文件名中不能出現幾種符號,於是又寫了一個方法過濾不想要的符號

	public String splitFileTitle(String title) {
		String name = "";
		String[] name_arr = title.split("\\/|\\\\|:|\\*|\\\"|<|>|\\|");


		for (int i = 0; i < name_arr.length; i++) {
			name = name + name_arr[i] + " ";
		}
		String result = name.substring(0, name.length() - 1);


		return name + ".mp4";
	}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章