类java.io.BufferedOutputStream源码实例Demo

下面列出了怎么用java.io.BufferedOutputStream的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: TencentKona-8   文件: HprofParser.java
/**
 * Parse a java heap dump file
 *
 * @param dump Heap dump file to parse
 * @param debug Turn on/off debug file parsing
 * @param callStack Turn on/off tracking of object allocation call stack
 * @param calculateRefs Turn on/off tracking object allocation call stack
 * @throws Exception
 * @return File containing output from the parser
 */
public static File parse(File dump, boolean debug, boolean callStack, boolean calculateRefs) throws Exception {
    File out = new File("hprof." + System.currentTimeMillis() + ".out");
    if (out.exists()) {
        out.delete();
    }

    PrintStream psSystemOut = System.out;
    try (PrintStream psHprof = new PrintStream(new BufferedOutputStream(new FileOutputStream(out.getAbsolutePath())))) {
        System.setOut(psHprof);

        int debugLevel = debug ? 2 : 0;
        try (Snapshot snapshot = Reader.readFile(dump.getAbsolutePath(), callStack, debugLevel)) {
            System.out.println("Snapshot read, resolving...");
            snapshot.resolve(calculateRefs);
            System.out.println("Snapshot resolved.");
        }
   } finally {
       System.setOut(psSystemOut);
   }

    return out;
}
 
源代码2 项目: MyBox   文件: CompressTools.java
public static File decompress(CompressorInputStream compressorInputStream, File targetFile) {
        try {
            if (compressorInputStream == null) {
                return null;
            }
            File file = (targetFile == null) ? FileTools.getTempFile() : targetFile;
            if (file.exists()) {
                file.delete();
            }
            try ( BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file))) {
                final byte[] buf = new byte[CommonValues.IOBufferLength];
                int len = -1;
                while (-1 != (len = compressorInputStream.read(buf))) {
                    out.write(buf, 0, len);
                }
            }
            return file;
        } catch (Exception e) {
//            logger.debug(e.toString());
            return null;
        }
    }
 
源代码3 项目: candybar   文件: LruDiskCache.java
@Override
public boolean save(String imageUri, Bitmap bitmap) throws IOException {
    DiskLruCache.Editor editor = cache.edit(getKey(imageUri));
    if (editor == null) {
        return false;
    }

    OutputStream os = new BufferedOutputStream(editor.newOutputStream(0), bufferSize);
    boolean savedSuccessfully = false;
    try {
        savedSuccessfully = bitmap.compress(compressFormat, compressQuality, os);
    } finally {
        IoUtils.closeSilently(os);
    }
    if (savedSuccessfully) {
        editor.commit();
    } else {
        editor.abort();
    }
    return savedSuccessfully;
}
 
源代码4 项目: DevUtils   文件: FileUtils.java
/**
 * 保存文件
 * @param file 文件
 * @param data 待存储数据
 * @return {@code true} success, {@code false} fail
 */
public static boolean saveFile(final File file, final byte[] data) {
    if (file != null && data != null) {
        try {
            // 防止文件夹没创建
            createFolder(getDirName(file));
            // 写入文件
            FileOutputStream fos = new FileOutputStream(file);
            BufferedOutputStream bos = new BufferedOutputStream(fos);
            bos.write(data);
            bos.close();
            fos.close();
            return true;
        } catch (Exception e) {
            JCLogUtils.eTag(TAG, e, "saveFile");
        }
    }
    return false;
}
 
源代码5 项目: FaceDemo   文件: FileUtil.java
/**
 * 保存一个暂时的bitmap图片
 *
 * 保存目录在
 * @param b
 */
public static String saveTmpBitmap(Bitmap b,String name){
    String result= "";
    String jpegName = MyConfig.ROOT_CACHE+File.separator+MyConfig.FACE_DIR +File.separator+name +".jpg";
    Log.d("FileUtil",jpegName);
    result = jpegName;
    try {
        FileOutputStream fout = new FileOutputStream(jpegName);
        BufferedOutputStream bos = new BufferedOutputStream(fout);
        b.compress(Bitmap.CompressFormat.JPEG, 100 , bos);
        bos.flush();
        bos.close();
        Log.i(TAG, "暂存的 saveBitmap成功");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        Log.i(TAG, "暂存的saveBitmap失败");
        e.printStackTrace();
    }
    return result;
}
 
源代码6 项目: constellation   文件: VisualGraphTopComponent.java
@Override
protected Void doInBackground() throws Exception {
    final ReadableGraph rg = graph.getReadableGraph();
    try {
        copy = rg.copy();
    } finally {
        rg.release();
    }
    try {
        try (OutputStream out = new BufferedOutputStream(freshGdo.getPrimaryFile().getOutputStream())) {
            // Write the graph.
            cancelled = new GraphJsonWriter().writeGraphToZip(copy, out, new HandleIoProgress("Writing..."));
        }
        SaveNotification.saved(freshGdo.getPrimaryFile().getPath());
    } catch (Exception ex) {
        Exceptions.printStackTrace(ex);
    }

    return null;
}
 
源代码7 项目: openboard   文件: BinaryDictionaryFileDumper.java
/**
 * Copies the data in an input stream to a target file if the magic number matches.
 *
 * If the magic number does not match the expected value, this method throws an
 * IOException. Other usual conditions for IOException or FileNotFoundException
 * also apply.
 *
 * @param input the stream to be copied.
 * @param output an output stream to copy the data to.
 */
public static void checkMagicAndCopyFileTo(final BufferedInputStream input,
        final BufferedOutputStream output) throws IOException {
    // Check the magic number
    final int length = MAGIC_NUMBER_VERSION_2.length;
    final byte[] magicNumberBuffer = new byte[length];
    final int readMagicNumberSize = input.read(magicNumberBuffer, 0, length);
    if (readMagicNumberSize < length) {
        throw new IOException("Less bytes to read than the magic number length");
    }
    if (SHOULD_VERIFY_MAGIC_NUMBER) {
        if (!Arrays.equals(MAGIC_NUMBER_VERSION_2, magicNumberBuffer)) {
            if (!Arrays.equals(MAGIC_NUMBER_VERSION_1, magicNumberBuffer)) {
                throw new IOException("Wrong magic number for downloaded file");
            }
        }
    }
    output.write(magicNumberBuffer);

    // Actually copy the file
    final byte[] buffer = new byte[FILE_READ_BUFFER_SIZE];
    for (int readBytes = input.read(buffer); readBytes >= 0; readBytes = input.read(buffer)) {
        output.write(buffer, 0, readBytes);
    }
    input.close();
}
 
源代码8 项目: apkextractor   文件: ImportTask.java
private void unZipToFile(ZipInputStream zipInputStream,String entryPath) throws Exception{
    File folder=new File(StorageUtil.getMainExternalStoragePath()+"/"+entryPath.substring(0,entryPath.lastIndexOf("/")));
    if(!folder.exists())folder.mkdirs();
    String writePath=StorageUtil.getMainExternalStoragePath()+"/"+entryPath;
    File writeFile=new File(writePath);
    OutputStream outputStream=new BufferedOutputStream(new FileOutputStream(writeFile));
    currentWritePath=writePath;
    currentWrtingFileItem=new FileItem(writeFile);
    byte [] buffer=new byte[1024];
    int len;
    while ((len=zipInputStream.read(buffer))!=-1&&!isInterrupted){
        outputStream.write(buffer,0,len);
        progress+=len;
        checkSpeedAndPostToCallback(len);
        checkProgressAndPostToCallback();
    }
    outputStream.flush();
    outputStream.close();
    if(!isInterrupted)currentWrtingFileItem=null;
}
 
源代码9 项目: yosegi   文件: GeneralConfMaker.java
@Override
public void write( final Map<String,String> settingContainer ,
    final String outputPath , final boolean overwrite ) throws IOException {
  File targetFile = new File( outputPath );
  if ( targetFile.exists() ) {
    if ( overwrite ) {
      if ( ! targetFile.delete() ) {
        throw new IOException( "Could not remove file. Target : " + outputPath );
      }
    } else {
      throw new IOException( "Output file is already exists. Target : " + outputPath );
    }
  }

  OutputStream out = new BufferedOutputStream( new FileOutputStream( outputPath ) );
  write( settingContainer , out );
}
 
源代码10 项目: imsdk-android   文件: FileHelper.java
public static boolean inputStreamToFile(InputStream inputStream, String filename, String tmpSuffix) throws IOException {

        BufferedInputStream bis = new BufferedInputStream(inputStream);
        // 存储加临时后缀,避免重名
        File file = new File(filename + tmpSuffix);
        File parent = file.getParentFile();
        if (parent != null && (!parent.exists())) {
            parent.mkdirs();
        }
        FileOutputStream fos = new FileOutputStream(file);
        BufferedOutputStream bos = new BufferedOutputStream(fos, CACHED_SIZE);
        int count;
        byte data[] = new byte[CACHED_SIZE];
        while ((count = bis.read(data, 0, CACHED_SIZE)) != -1) {
            bos.write(data, 0, count);
        }
        bos.flush();
        bos.close();
        bis.close();

        return renameFile(file, filename);
    }
 
源代码11 项目: sofa-jraft   文件: ZipUtil.java
public static void decompress(final String sourceFile, final String outputDir, final Checksum checksum)
                                                                                                       throws IOException {
    try (final FileInputStream fis = new FileInputStream(sourceFile);
            final CheckedInputStream cis = new CheckedInputStream(fis, checksum);
            final ZipInputStream zis = new ZipInputStream(new BufferedInputStream(cis))) {
        ZipEntry entry;
        while ((entry = zis.getNextEntry()) != null) {
            final String fileName = entry.getName();
            final File entryFile = new File(Paths.get(outputDir, fileName).toString());
            FileUtils.forceMkdir(entryFile.getParentFile());
            try (final FileOutputStream fos = new FileOutputStream(entryFile);
                    final BufferedOutputStream bos = new BufferedOutputStream(fos)) {
                IOUtils.copy(zis, bos);
                bos.flush();
                fos.getFD().sync();
            }
        }
        // Continue to read all remaining bytes(extra metadata of ZipEntry) directly from the checked stream,
        // Otherwise, the checksum value maybe unexpected.
        //
        // See https://coderanch.com/t/279175/java/ZipInputStream
        IOUtils.copy(cis, NullOutputStream.NULL_OUTPUT_STREAM);
    }
}
 
源代码12 项目: deployment-examples   文件: Injector.java
/** Publish generated events to a file. */
public static void publishDataToFile(String fileName, int numMessages, int delayInMillis)
    throws IOException {
  PrintWriter out =
      new PrintWriter(
          new OutputStreamWriter(
              new BufferedOutputStream(new FileOutputStream(fileName, true)), "UTF-8"));

  try {
    for (int i = 0; i < Math.max(1, numMessages); i++) {
      Long currTime = System.currentTimeMillis();
      String message = generateEvent(currTime, delayInMillis);
      out.println(message);
    }
  } catch (Exception e) {
    System.err.print("Error in writing generated events to file");
    e.printStackTrace();
  } finally {
    out.flush();
    out.close();
  }
}
 
源代码13 项目: dragonwell8_jdk   文件: BandStructure.java
static OutputStream getDumpStream(String name, int seq, String ext, Object b) throws IOException {
    if (dumpDir == null) {
        dumpDir = File.createTempFile("BD_", "", new File("."));
        dumpDir.delete();
        if (dumpDir.mkdir())
            Utils.log.info("Dumping bands to "+dumpDir);
    }
    name = name.replace('(', ' ').replace(')', ' ');
    name = name.replace('/', ' ');
    name = name.replace('*', ' ');
    name = name.trim().replace(' ','_');
    name = ((10000+seq) + "_" + name).substring(1);
    File dumpFile = new File(dumpDir, name+ext);
    Utils.log.info("Dumping "+b+" to "+dumpFile);
    return new BufferedOutputStream(new FileOutputStream(dumpFile));
}
 
源代码14 项目: android_9.0.0_r45   文件: PersistentDataStore.java
private void save() {
    final FileOutputStream os;
    try {
        os = mAtomicFile.startWrite();
        boolean success = false;
        try {
            XmlSerializer serializer = new FastXmlSerializer();
            serializer.setOutput(new BufferedOutputStream(os), StandardCharsets.UTF_8.name());
            saveToXml(serializer);
            serializer.flush();
            success = true;
        } finally {
            if (success) {
                mAtomicFile.finishWrite(os);
            } else {
                mAtomicFile.failWrite(os);
            }
        }
    } catch (IOException ex) {
        Slog.w(InputManagerService.TAG, "Failed to save input manager persistent store data.", ex);
    }
}
 
源代码15 项目: DevUtils   文件: FileUtils.java
/**
 * 保存文件
 * @param file 文件
 * @param data 待存储数据
 * @return {@code true} success, {@code false} fail
 */
public static boolean saveFile(final File file, final byte[] data) {
    if (file != null && data != null) {
        try {
            // 防止文件夹没创建
            createFolder(getDirName(file));
            // 写入文件
            FileOutputStream fos = new FileOutputStream(file);
            BufferedOutputStream bos = new BufferedOutputStream(fos);
            bos.write(data);
            bos.close();
            fos.close();
            return true;
        } catch (Exception e) {
            JCLogUtils.eTag(TAG, e, "saveFile");
        }
    }
    return false;
}
 
源代码16 项目: EasyPhotos   文件: FileUtil.java
public static String saveBitmap(String dir, Bitmap b) {
    DST_FOLDER_NAME = dir;
    String path = initPath();
    long dataTake = System.currentTimeMillis();
    String jpegName = path + File.separator + "IMG_" + dataTake + ".jpg";
    try {
        FileOutputStream fout = new FileOutputStream(jpegName);
        BufferedOutputStream bos = new BufferedOutputStream(fout);
        b.compress(Bitmap.CompressFormat.JPEG, 100, bos);
        bos.flush();
        bos.close();
        return jpegName;
    } catch (IOException e) {
        e.printStackTrace();
        return "";
    }
}
 
源代码17 项目: AlbumCameraRecorder   文件: FileUtil.java
public static String saveBitmap(String dir, Bitmap b) {
    DST_FOLDER_NAME = dir;
    String path = initPath();
    long dataTake = System.currentTimeMillis();
    String jpegName = path + File.separator + "picture_" + dataTake + ".jpg";
    try {
        FileOutputStream fout = new FileOutputStream(jpegName);
        BufferedOutputStream bos = new BufferedOutputStream(fout);
        b.compress(Bitmap.CompressFormat.JPEG, 100, bos);
        bos.flush();
        bos.close();
        return jpegName;
    } catch (IOException e) {
        e.printStackTrace();
        return "";
    }
}
 
源代码18 项目: openemm   文件: ZipUtilities.java
/**
 * Zip a bytearray
 * 
 * @param data
 * @return
 * @throws IOException
 */
public static byte[] zip(byte[] data, String entryFileName) throws IOException {
	try(final ByteArrayOutputStream outStream = new ByteArrayOutputStream()) {
		try(final ZipOutputStream zipOutputStream = new ZipOutputStream(new BufferedOutputStream(outStream))) {
			
			if (data != null) {
				addFileDataToOpenZipFileStream(data, entryFileName, zipOutputStream);
			}
			
		}
		
		outStream.flush();
		
		return outStream.toByteArray();
	}
}
 
源代码19 项目: Tomcat8-Source-Read   文件: ManagerServlet.java
/**
 * Upload the WAR file included in this request, and store it at the
 * specified file location.
 *
 * @param writer    Writer to render to
 * @param request   The servlet request we are processing
 * @param war       The file into which we should store the uploaded WAR
 * @param smClient  The StringManager used to construct i18n messages based
 *                  on the Locale of the client
 *
 * @exception IOException if an I/O error occurs during processing
 */
protected void uploadWar(PrintWriter writer, HttpServletRequest request,
        File war, StringManager smClient) throws IOException {

    if (war.exists() && !war.delete()) {
        String msg = smClient.getString("managerServlet.deleteFail", war);
        throw new IOException(msg);
    }

    try (ServletInputStream istream = request.getInputStream();
            BufferedOutputStream ostream =
                    new BufferedOutputStream(new FileOutputStream(war), 1024)) {
        byte buffer[] = new byte[1024];
        while (true) {
            int n = istream.read(buffer);
            if (n < 0) {
                break;
            }
            ostream.write(buffer, 0, n);
        }
    } catch (IOException e) {
        if (war.exists() && !war.delete()) {
            writer.println(
                    smClient.getString("managerServlet.deleteFail", war));
        }
        throw e;
    }

}
 
源代码20 项目: TencentKona-8   文件: UnboundSSLUtils.java
void connect() throws IOException {
    System.out.println("Client: connect to server");
    try (BufferedInputStream bis = new BufferedInputStream(
                    socket.getInputStream());
            BufferedOutputStream bos = new BufferedOutputStream(
                    socket.getOutputStream())) {

        for (byte[] bytes : arrays) {
            System.out.println("Client: send byte array: "
                    + Arrays.toString(bytes));

            bos.write(bytes);
            bos.flush();

            byte[] recieved = new byte[bytes.length];
            int read = bis.read(recieved, 0, bytes.length);
            if (read < 0) {
                throw new IOException("Client: couldn't read a response");
            }

            System.out.println("Client: recieved byte array: "
                    + Arrays.toString(recieved));

            if (!Arrays.equals(bytes, recieved)) {
                throw new IOException("Client: sent byte array "
                            + "is not equal with recieved byte array");
            }
        }
        socket.getSession().invalidate();
    } finally {
        if (!socket.isClosed()) {
            socket.close();
        }
    }
}
 
源代码21 项目: jdk8u60   文件: OptimisticTypesPersistence.java
/**
 * Stores the map of optimistic types for a given function.
 * @param locationDescriptor the opaque persistence location descriptor, retrieved by calling
 * {@link #getLocationDescriptor(Source, int, Type[])}.
 * @param optimisticTypes the map of optimistic types.
 */
@SuppressWarnings("resource")
public static void store(final Object locationDescriptor, final Map<Integer, Type> optimisticTypes) {
    if(locationDescriptor == null || optimisticTypes.isEmpty()) {
        return;
    }
    final File file = ((LocationDescriptor)locationDescriptor).file;

    AccessController.doPrivileged(new PrivilegedAction<Void>() {
        @Override
        public Void run() {
            synchronized(getFileLock(file)) {
                if (!file.exists()) {
                    // If the file already exists, we aren't increasing the number of cached files, so
                    // don't schedule cleanup.
                    scheduleCleanup();
                }
                try (final FileOutputStream out = new FileOutputStream(file)) {
                    out.getChannel().lock(); // lock exclusive
                    final DataOutputStream dout = new DataOutputStream(new BufferedOutputStream(out));
                    Type.writeTypeMap(optimisticTypes, dout);
                    dout.flush();
                } catch(final Exception e) {
                    reportError("write", file, e);
                }
            }
            return null;
        }
    });
}
 
源代码22 项目: mollyim-android   文件: LogFile.java
Writer(@NonNull byte[] secret, @NonNull File file) throws IOException {
  this.secret       = secret;
  this.file         = file;
  this.outputStream = new BufferedOutputStream(new FileOutputStream(file, true));

  try {
    this.cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
  } catch (NoSuchAlgorithmException | NoSuchPaddingException e) {
    throw new AssertionError(e);
  }
}
 
/**
 * Helper method trying to ensure that the file location provided by the user
 * exists. If that is not the case it prompts the user if an empty
 * configuration file should be created.
 *
 * @param location
 *          the configuration file location
 * @throws CheckstylePluginException
 *           error when trying to ensure the location file existance
 */
private boolean ensureFileExists(String location) throws CheckstylePluginException {

  // support dynamic location strings
  String resolvedLocation = ExternalFileConfigurationType.resolveDynamicLocation(location);

  File file = new File(resolvedLocation);
  if (!file.exists()) {
    boolean confirm = MessageDialog.openQuestion(mBtnBrowse.getShell(),
            Messages.ExternalFileConfigurationEditor_titleFileDoesNotExist,
            Messages.ExternalFileConfigurationEditor_msgFileDoesNotExist);
    if (confirm) {

      if (file.getParentFile() != null) {
        file.getParentFile().mkdirs();
      }

      try (OutputStream out = new BufferedOutputStream(new FileOutputStream(file))) {
        ConfigurationWriter.writeNewConfiguration(out, mWorkingCopy);
      } catch (IOException ioe) {
        CheckstylePluginException.rethrow(ioe);
      }
      return true;
    }
    return false;
  }

  return true;
}
 
源代码24 项目: incubator-iotdb   文件: LocalFileRoleAccessor.java
@Override
public void saveRole(Role role) throws IOException {
  File roleProfile = SystemFileFactory.INSTANCE.getFile(
      roleDirPath + File.separator + role.getName() + IoTDBConstant.PROFILE_SUFFIX + TEMP_SUFFIX);
  try (BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(roleProfile))) {
    try {
      IOUtils.writeString(outputStream, role.getName(), STRING_ENCODING, encodingBufferLocal);

      role.getPrivilegeList().sort(PathPrivilege.REFERENCE_DESCENT_SORTER);
      int privilegeNum = role.getPrivilegeList().size();
      IOUtils.writeInt(outputStream, privilegeNum, encodingBufferLocal);
      for (int i = 0; i < privilegeNum; i++) {
        PathPrivilege pathPrivilege = role.getPrivilegeList().get(i);
        IOUtils
            .writePathPrivilege(outputStream, pathPrivilege, STRING_ENCODING,
                encodingBufferLocal);
      }
      outputStream.flush();
    } catch (Exception e) {
      throw new IOException(e);
    }
  }

  File oldFile = SystemFileFactory.INSTANCE.getFile(
      roleDirPath + File.separator + role.getName() + IoTDBConstant.PROFILE_SUFFIX);
  IOUtils.replaceFile(roleProfile, oldFile);
}
 
源代码25 项目: littleca   文件: CommonUtil.java
public static void zip(ZipOutputStream out, BufferedOutputStream bos, File srcFile, String base) throws Exception {
    //如果路径为目录(文件夹)
    if (srcFile.isDirectory()) {
        //取出文件夹中的文件(或子文件夹)
        File[] flist = srcFile.listFiles();
        if (null == flist || flist.length == 0) {
            //如果文件夹为空,则只需在目的地zip文件中写入一个目录进入点
            out.putNextEntry(new ZipEntry(base + "/"));
        } else//如果文件夹不为空,则递归调用compress,文件夹中的每一个文件(或文件夹)进行压缩
        {
            for (int i = 0; i < flist.length; i++) {
                zip(out, bos, flist[i], base + "/" + flist[i].getName());
            }
        }
    } else//如果不是目录(文件夹),即为文件,则先写入目录进入点,之后将文件写入zip文件中
    {
        out.putNextEntry(new ZipEntry(base));
        FileInputStream fos = new FileInputStream(srcFile);
        BufferedInputStream bis = new BufferedInputStream(fos);
        int tag;
        //将源文件写入到zip文件中
        while ((tag = bis.read()) != -1) {
            bos.write(tag);
        }
        bis.close();
        fos.close();
    }
}
 
源代码26 项目: java-n-IDE-for-Android   文件: Util.java
/**
 * @source http://stackoverflow.com/a/1399432
 */
public static void zip(File directory, File zipfile) throws Exception {
    if (directory.listFiles() == null || directory.listFiles().length == 0) {
        return;
    }
    URI base = directory.toURI();
    Deque<File> queue = new LinkedList<File>();
    queue.push(directory);
    ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipfile)));
    try {
        while (!queue.isEmpty()) {
            directory = queue.pop();
            for (File path : directory.listFiles()) {
                String name = base.relativize(path.toURI()).getPath();
                if (path.isDirectory()) {
                    queue.push(path);
                    name = name.endsWith("/") ? name : name + "/";
                    out.putNextEntry(new ZipEntry(name));
                } else {
                    out.putNextEntry(new ZipEntry(name));
                    copy(path, out);
                    out.closeEntry();
                }
            }
        }
    } finally {
        out.close();
    }
}
 
源代码27 项目: jdk8u60   文件: XMLWriter.java
/**
 * Returns a writer for the specified encoding based on an output stream.
 *
 * @param output The output stream
 * @param encoding The encoding
 * @return A suitable writer
 * @throws UnsupportedEncodingException There is no convertor to support
 * this encoding
 */
private Writer getWriter(OutputStream output, String encoding, Charset cs)
    throws XMLStreamException, UnsupportedEncodingException
{
    if (cs != null) {
        return (new OutputStreamWriter(new BufferedOutputStream(output), cs));
    }

    return new OutputStreamWriter(new BufferedOutputStream(output), encoding);
}
 
源代码28 项目: Injector   文件: Utils.java
public static void unzip(File zipFile, String destDirectory) throws IOException {
	File destDir = new File(destDirectory);
	if (!destDir.exists()) {
		destDir.mkdirs();
	}
	ZipInputStream zipIn = new ZipInputStream(new FileInputStream(zipFile));
	ZipEntry entry = zipIn.getNextEntry();
	while (entry != null) {
		String filePath = destDirectory + File.separator + entry.getName();
		if (!entry.isDirectory()) {
			File destinationFile = new File(filePath);
			destinationFile.createNewFile();
			BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destinationFile));
			byte[] bytesIn = new byte[4096];
			int read;
			while ((read = zipIn.read(bytesIn)) != -1) {
				bos.write(bytesIn, 0, read);
			}
			bos.close();
		} else {
			File dir = new File(filePath);
			dir.mkdir();
		}
		zipIn.closeEntry();
		entry = zipIn.getNextEntry();
	}
	zipIn.close();
}
 
源代码29 项目: TencentKona-8   文件: StandardDocFileFactory.java
/**
 * Open an output stream for the file.
 * The file must have been created with a location of
 * {@link DocumentationTool.Location#DOCUMENTATION_OUTPUT} and a corresponding relative path.
 */
public OutputStream openOutputStream() throws IOException, UnsupportedEncodingException {
    if (location != DocumentationTool.Location.DOCUMENTATION_OUTPUT)
        throw new IllegalStateException();

    OutputStream out = getFileObjectForOutput(path).openOutputStream();
    return new BufferedOutputStream(out);
}
 
源代码30 项目: jdk8u60   文件: AuFileWriter.java
public int write(AudioInputStream stream, AudioFileFormat.Type fileType, File out) throws IOException {

        // throws IllegalArgumentException if not supported
        AuFileFormat auFileFormat = (AuFileFormat)getAudioFileFormat(fileType, stream);

        // first write the file without worrying about length fields
        FileOutputStream fos = new FileOutputStream( out );     // throws IOException
        BufferedOutputStream bos = new BufferedOutputStream( fos, bisBufferSize );
        int bytesWritten = writeAuFile(stream, auFileFormat, bos );
        bos.close();

        // now, if length fields were not specified, calculate them,
        // open as a random access file, write the appropriate fields,
        // close again....
        if( auFileFormat.getByteLength()== AudioSystem.NOT_SPECIFIED ) {

            // $$kk: 10.22.99: jan: please either implement this or throw an exception!
            // $$fb: 2001-07-13: done. Fixes Bug 4479981
            RandomAccessFile raf=new RandomAccessFile(out, "rw");
            if (raf.length()<=0x7FFFFFFFl) {
                // skip AU magic and data offset field
                raf.skipBytes(8);
                raf.writeInt(bytesWritten-AuFileFormat.AU_HEADERSIZE);
                // that's all
            }
            raf.close();
        }

        return bytesWritten;
    }
 
 类所在包
 同包方法