package org.test; import java.io.File; import java.io.FileWriter; import java.io.Writer; import org.moe.natj.general.Pointer; import org.moe.natj.general.ann.RegisterOnStartup; import org.moe.natj.objc.ann.Selector; import apple.NSObject; import apple.foundation.NSArray; import apple.foundation.NSFileManager; import apple.foundation.NSURL; import apple.foundation.enums.NSSearchPathDirectory; import apple.foundation.enums.NSSearchPathDomainMask; import apple.uikit.protocol.UIApplicationDelegate; @RegisterOnStartup public class Main extends NSObject implements UIApplicationDelegate { @Selector("alloc") public static native Main alloc(); protected Main(Pointer peer) { super(peer); } public static void main(String[] args) throws Exception { File tempDir = createTempFile(); File testFile = File.createTempFile("test", ".html", tempDir); String fileName = testFile.getAbsolutePath(); Writer w = null; try { // w = new OutputStreamWriter(new FileOutputStream(fileName), "utf-8"); // fw = new FileWriter(fileName); w = new FileWriter(fileName); // w = new StringWriter(); for (int i = 0; i < 1000000; i++) { // StringWriter w = new StringWriter(); w.write(""); w.write(""+"33"+""); w.write(""); w.write(""); w.write(""); w.write(""); w.write(""); w.write("C"); w.write(""); w.write(""); w.write("CO"); w.write(""); w.write(""); // fw.write(w.toString()); // this works! } } finally { w.close(); } } static File createTempFile() { NSFileManager fileManager = NSFileManager.defaultManager(); NSArray urls = fileManager.URLsForDirectoryInDomains( // NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask); NSURL url = urls.firstObject(); String baseDir = url.fileSystemRepresentation(); File tempDir = new File(baseDir, "temp"); tempDir.mkdirs(); return tempDir; } }