Java ツール クラスを作成するためのいくつかの個人的な方法を記録します (継続的に更新されます)。

1.年数と日付を増やす方法

/**
	 * 增加年数日期方法
	 * 
	 * @param dateString 日期
	 * @param yearNum    增加年数
	 * @return 增加年数后的日期
	 */

	public String addYearString(String dateString, int yearNum) {
    
    

		String addYearString = "";
		if (!dateString.equals("") && null != dateString) {
    
    
			try {
    
    
				Date date = new SimpleDateFormat("yyyy-MM-dd").parse(dateString);
				Calendar ca = Calendar.getInstance();

				ca.setTime(date);
				ca.add(Calendar.YEAR, yearNum);
				SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
				addYearString = sdf.format(ca.getTime());

			} catch (ParseException e) {
    
    
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return addYearString;
	}

2. 年、月、日の文字列を渡して年文字列メソッドを返す

/**
	 * 返回年份字符串方法
	 * 
	 * @param dateString 日期字符串
	 * @return 年份字符串
	 */
	public String getYearsString(String dateString) {
    
    
		String yearString = "";
		if (!dateString.equals("") && null != dateString) {
    
    
			try {
    
    
				Date date = new SimpleDateFormat("yyyy").parse(dateString);
				Calendar ca = Calendar.getInstance();

				ca.setTime(date);
				int year = ca.get(Calendar.YEAR);// 年份数值
				yearString = String.valueOf(year);
			} catch (ParseException e) {
    
    
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return yearString;

	}

3. yyyy-MM-dd 日付文字列を入力し、yyyyMMdd メソッドを返す

/**
	 * 返回yyyyMMdd日期字符串方法
	 * 
	 * @param dateString 日期字符串
	 * @return yyyyMMdd格式的日期字符串
	 */
	public String getYearMonDay(String dateString) {
    
    
		String yearMonDay = null;
		if (!dateString.equals("") && null != dateString) {
    
    
			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
			try {
    
    
				Date dt = simpleDateFormat.parse(dateString);
				String year = String.format("%tY", dt);
				String mon = String.format("%tm", dt);
				String day = String.format("%td", dt);
				yearMonDay = year.concat(mon).concat(day);

			} catch (ParseException e) {
    
    
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}

		return yearMonDay;
	}

4. ファイル パス (ファイル名を含む) を渡して、ファイル パス (ファイル名を含まない) メソッドを取得します。

/**
	 * 传入文件路径(包含文件名)获取 文件路径(不包含文件名)方法
	 * 
	 * @param filePathName 文件路径(包含文件名)
	 * @return 文件路径(不包含文件名)
	 */
	public String getAbsolutePath(String filePathName) {
    
    
		String newTwoString = "";
		if (!filePathName.equals("") && null != filePathName) {
    
    
			// 取得最后一个/的下标
			int index = filePathName.lastIndexOf("\\");
			// substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。
			newTwoString = filePathName.substring(0, index + 1);

		}
		return newTwoString;

	}

5. コンマを含む文字列を文字列配列に変換する

/**
	 * 字符串转化为String数组
	 * 
	 * @param stringValue 带逗号的字符串
	 * @return String数组
	 */
	private String[] privateGetStringArray(String stringValue) {
    
    
		String[] arrString = stringValue.split(",");
		return arrString;
	}

6. リストへの文字列 (5 番目の方法を使用)

/**
	 * 
	 * 字符串转list
	 * 
	 * @param docString   要转换的字符串
	 * @param logString   要转换的列名
	 * @param contractNum 流程编号
	 * @return list数组
	 */
	public List<String> getDocIdList(String docString, String logString, String contractNum) {
    
    

		List<String> docIdList = new ArrayList<String>();
		if (!docString.equals("") && null != docString) {
    
    

			String[] docStringArray = privateGetStringArray(docString, logString, contractNum);
			for (int i = 0; i < docStringArray.length; i++) {
    
    
				docIdList.add(docStringArray[i]);
			}

			return docIdList;
		} else {
    
    

			return docIdList;
		}

	}

7、ZIP圧縮パッケージの解凍方法

/**
	 * zip压缩包解压方法
	 * 
	 * @param pathNameString 文件路径
	 * @param fileNameString 解压后的文件名
	 * @return File 类
	 */
	public File getFile(String pathNameString, String fileNameString) {
    
    
		try {
    
    
//			TransferUtils transferUtils=new TransferUtils();
			ZipInputStream zin = new ZipInputStream(new FileInputStream(pathNameString));// 输入源zip路径
			BufferedInputStream bin = new BufferedInputStream(zin);
			String parent = privateAbsolutePath(pathNameString); // 输出路径(文件夹目录)
			File fout = null;

			ZipEntry entry;
			try {
    
    
				while ((entry = zin.getNextEntry()) != null && !entry.isDirectory()) {
    
    
					fout = new File(parent, fileNameString);
					if (!fout.exists()) {
    
    
						(new File(fout.getParent())).mkdirs();
					}
					FileOutputStream out = new FileOutputStream(fout);
					BufferedOutputStream bout = new BufferedOutputStream(out);
					int b;
					while ((b = bin.read()) != -1) {
    
    
						bout.write(b);
					}
					bout.close();
					out.close();
				}
				bin.close();
				zin.close();
			} catch (IOException e) {
    
    
				e.printStackTrace();
			}
			return fout;
		} catch (FileNotFoundException e) {
    
    
			e.printStackTrace();
		}
		return null;
	}

おすすめ

転載: blog.csdn.net/qq_45844443/article/details/128130695