Here you can find the source of saveUtfFileWithBOM(File file, String content)
public static void saveUtfFileWithBOM(File file, String content) throws IOException
//package com.java2s; /*************************GO-LICENSE-START********************************* * Copyright 2014 ThoughtWorks, Inc./*from w w w .j a va2 s .com*/ * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *************************GO-LICENSE-END***********************************/ import java.io.*; public class Main { public static void saveUtfFileWithBOM(File file, String content) throws IOException { BufferedWriter bw = null; OutputStreamWriter osw = null; FileOutputStream fos = new FileOutputStream(file); try { // write UTF8 BOM mark if file is empty if (file.length() < 1) { final byte[] bom = new byte[] { (byte) 0xEF, (byte) 0xBB, (byte) 0xBF }; fos.write(bom); } osw = new OutputStreamWriter(fos, "UTF-8"); bw = new BufferedWriter(osw); if (content != null) { bw.write(content); } } catch (IOException ex) { throw ex; } finally { try { bw.close(); fos.close(); } catch (Exception ex) { } } } }