Centralized creation of temp files and made the default operation to delete on exit
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353606 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f5b0a702a7
commit
dbacc2b8f3
@ -47,6 +47,7 @@ import org.apache.poi.poifs.filesystem.DocumentInputStream;
|
||||
import org.apache.poi.poifs.filesystem.Entry;
|
||||
import org.apache.poi.poifs.filesystem.POIFSDocumentPath;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
/**
|
||||
* <p>This class copies a POI file system to a new file and compares the copy
|
||||
@ -112,7 +113,7 @@ public class CopyCompare
|
||||
if (args.length == 1)
|
||||
{
|
||||
originalFileName = args[0];
|
||||
File f = File.createTempFile("CopyOfPOIFileSystem-", ".ole2");
|
||||
File f = TempFile.createTempFile("CopyOfPOIFileSystem-", ".ole2");
|
||||
f.deleteOnExit();
|
||||
copyFileName = f.getAbsolutePath();
|
||||
}
|
||||
|
57
src/java/org/apache/poi/util/TempFile.java
Normal file
57
src/java/org/apache/poi/util/TempFile.java
Normal file
@ -0,0 +1,57 @@
|
||||
/* ====================================================================
|
||||
Copyright 2002-2004 Apache Software Foundation
|
||||
|
||||
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.
|
||||
==================================================================== */
|
||||
package org.apache.poi.util;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* Interface for creating temporary files. Collects them all into one directory.
|
||||
*
|
||||
* @author Glen Stampoultzis
|
||||
*/
|
||||
public class TempFile
|
||||
{
|
||||
static File dir;
|
||||
static Random rnd = new Random();
|
||||
|
||||
/**
|
||||
* Creates a temporary file. Files are collected into one directory and by default are
|
||||
* deleted on exit from the VM. Files can be kept by defining the system property
|
||||
* <code>poi.keep.tmp.files</code>.
|
||||
* <p>
|
||||
* Dont forget to close all files or it might not be possible to delete them.
|
||||
*/
|
||||
public static File createTempFile(String prefix, String suffix) throws IOException
|
||||
{
|
||||
if (dir == null)
|
||||
{
|
||||
dir = new File(System.getProperty("java.io.tmpdir"), "poifiles");
|
||||
dir.mkdir();
|
||||
if (System.getProperty("poi.keep.tmp.files") == null)
|
||||
dir.deleteOnExit();
|
||||
}
|
||||
|
||||
File newFile = new File(dir, prefix + rnd.nextInt() + suffix);
|
||||
if (System.getProperty("poi.keep.tmp.files") == null)
|
||||
newFile.deleteOnExit();
|
||||
return newFile;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -62,6 +62,7 @@ import org.apache.poi.poifs.eventfilesystem.POIFSReaderEvent;
|
||||
import org.apache.poi.poifs.eventfilesystem.POIFSReaderListener;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.util.LittleEndian;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
|
||||
|
||||
@ -710,7 +711,7 @@ public class TestWrite extends TestCase
|
||||
|
||||
/* Create a new POI filesystem containing the origin file's
|
||||
* property set streams: */
|
||||
final File copy = File.createTempFile(f.getName(), "");
|
||||
final File copy = TempFile.createTempFile(f.getName(), "");
|
||||
copy.deleteOnExit();
|
||||
final OutputStream out = new FileOutputStream(copy);
|
||||
final POIFSFileSystem poiFs = new POIFSFileSystem();
|
||||
@ -764,7 +765,7 @@ public class TestWrite extends TestCase
|
||||
{
|
||||
try
|
||||
{
|
||||
final File copy = File.createTempFile("Test-HPSF", "ole2");
|
||||
final File copy = TempFile.createTempFile("Test-HPSF", "ole2");
|
||||
copy.deleteOnExit();
|
||||
|
||||
/* Write: */
|
||||
@ -816,7 +817,7 @@ public class TestWrite extends TestCase
|
||||
{
|
||||
try
|
||||
{
|
||||
final File copy = File.createTempFile("Test-HPSF", "ole2");
|
||||
final File copy = TempFile.createTempFile("Test-HPSF", "ole2");
|
||||
copy.deleteOnExit();
|
||||
|
||||
/* Write: */
|
||||
|
@ -24,6 +24,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.util.HexRead;
|
||||
import org.apache.poi.util.LittleEndian;
|
||||
import org.apache.poi.util.LittleEndianConsts;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Arrays;
|
||||
@ -458,7 +459,7 @@ public class TestSSTRecord
|
||||
assertEquals( "01/05 (Wed) ", sheet.getRow( 0 ).getCell( (short) 8 ).getStringCellValue() );
|
||||
assertEquals( "01/05 (Wed)", sheet.getRow( 1 ).getCell( (short) 8 ).getStringCellValue() );
|
||||
|
||||
file = File.createTempFile( "testout", "xls" );
|
||||
file = TempFile.createTempFile( "testout", "xls" );
|
||||
FileOutputStream outStream = new FileOutputStream( file );
|
||||
wb.write( outStream );
|
||||
outStream.close();
|
||||
@ -479,7 +480,7 @@ public class TestSSTRecord
|
||||
assertEquals( "Testing", sheet.getRow( row++ ).getCell( (short) 0 ).getStringCellValue() );
|
||||
|
||||
// file = new File("/tryme.xls");
|
||||
file = File.createTempFile( "testout", ".xls" );
|
||||
file = TempFile.createTempFile( "testout", ".xls" );
|
||||
outStream = new FileOutputStream( file );
|
||||
wb.write( outStream );
|
||||
outStream.close();
|
||||
|
@ -20,6 +20,7 @@ package org.apache.poi.hssf.usermodel;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hssf.util.Region;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
@ -48,7 +49,7 @@ extends TestCase {
|
||||
HSSFRow r = s.createRow(0);
|
||||
HSSFCell c = r.createCell((short)0);
|
||||
c.setCellValue(10);
|
||||
File file = File.createTempFile("test15228",".xls");
|
||||
File file = TempFile.createTempFile("test15228",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
wb.write(out);
|
||||
assertTrue("No exception thrown", true);
|
||||
@ -65,7 +66,7 @@ extends TestCase {
|
||||
HSSFRow r = s.createRow(0);
|
||||
HSSFCell c = r.createCell((short)0);
|
||||
c.setCellValue(10);
|
||||
File file = File.createTempFile("test13796",".xls");
|
||||
File file = TempFile.createTempFile("test13796",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
wb.write(out);
|
||||
assertTrue("No exception thrown", true);
|
||||
@ -75,7 +76,7 @@ extends TestCase {
|
||||
/**Test writing a hyperlink
|
||||
* Open resulting sheet in Excel and check that A1 contains a hyperlink*/
|
||||
public void test23094() throws Exception {
|
||||
File file = File.createTempFile("test23094",".xls");
|
||||
File file = TempFile.createTempFile("test23094",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -98,7 +99,7 @@ extends TestCase {
|
||||
cell.setCellFormula("HYPERLINK(\"http://google.com\",\"Google\")");
|
||||
|
||||
// Write out the workbook
|
||||
File f = File.createTempFile("test15353",".xls");
|
||||
File f = TempFile.createTempFile("test15353",".xls");
|
||||
FileOutputStream fileOut = new FileOutputStream(f);
|
||||
wb.write(fileOut);
|
||||
fileOut.close();
|
||||
@ -158,7 +159,7 @@ extends TestCase {
|
||||
oCell.setCellValue("0.3");
|
||||
|
||||
// Write the output to a file
|
||||
File f = File.createTempFile("test15375",".xls");
|
||||
File f = TempFile.createTempFile("test15375",".xls");
|
||||
FileOutputStream fileOut = new FileOutputStream(f);
|
||||
wb.write(fileOut);
|
||||
fileOut.close();
|
||||
@ -199,7 +200,7 @@ extends TestCase {
|
||||
cell = row.createCell((short)2);
|
||||
cell.setCellValue(tmp3);
|
||||
}
|
||||
File f = File.createTempFile("test15375-2",".xls");
|
||||
File f = TempFile.createTempFile("test15375-2",".xls");
|
||||
FileOutputStream fileOut = new FileOutputStream(f);
|
||||
wb.write(fileOut);
|
||||
fileOut.close();
|
||||
@ -238,7 +239,7 @@ extends TestCase {
|
||||
sheet.setDefaultColumnWidth((short) 18) ;
|
||||
|
||||
try {
|
||||
File f = File.createTempFile("test22568",".xls");
|
||||
File f = TempFile.createTempFile("test22568",".xls");
|
||||
FileOutputStream out = new FileOutputStream(f) ;
|
||||
wb.write(out) ;
|
||||
|
||||
@ -425,7 +426,7 @@ extends TestCase {
|
||||
assertEquals("String Cell value", c1.getStringCellValue(), c2.getStringCellValue());
|
||||
assertEquals("String Cell value", d1.getStringCellValue(), d2.getStringCellValue());
|
||||
|
||||
File xls = File.createTempFile("testFormulaUnicode", ".xls");
|
||||
File xls = TempFile.createTempFile("testFormulaUnicode", ".xls");
|
||||
FileOutputStream out = new FileOutputStream(xls);
|
||||
w.write(out);
|
||||
out.close();
|
||||
|
@ -28,6 +28,7 @@ import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
import junit.framework.*;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
/**
|
||||
* Class to test cell styling functionality
|
||||
@ -59,7 +60,7 @@ public class TestCellStyle
|
||||
public void testWriteSheetFont()
|
||||
throws IOException
|
||||
{
|
||||
File file = File.createTempFile("testWriteSheetFont",
|
||||
File file = TempFile.createTempFile("testWriteSheetFont",
|
||||
".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
@ -104,7 +105,7 @@ public class TestCellStyle
|
||||
public void testDataStyle()
|
||||
throws Exception
|
||||
{
|
||||
File file = File.createTempFile("testWriteSheetStyleDate",
|
||||
File file = TempFile.createTempFile("testWriteSheetStyleDate",
|
||||
".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
@ -150,7 +151,7 @@ public class TestCellStyle
|
||||
public void testWriteSheetStyle()
|
||||
throws IOException
|
||||
{
|
||||
File file = File.createTempFile("testWriteSheetStyle",
|
||||
File file = TempFile.createTempFile("testWriteSheetStyle",
|
||||
".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
|
@ -27,6 +27,7 @@ import java.util.Date;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hssf.util.CellReference;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
/**
|
||||
* @author Andrew C. Oliver (acoliver at apache dot org)
|
||||
@ -47,7 +48,7 @@ extends TestCase {
|
||||
throws Exception {
|
||||
|
||||
short rownum = 0;
|
||||
File file = File.createTempFile("testFormula",".xls");
|
||||
File file = TempFile.createTempFile("testFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -169,7 +170,7 @@ extends TestCase {
|
||||
private void floatTest(String operator)
|
||||
throws Exception {
|
||||
short rownum = 0;
|
||||
File file = File.createTempFile("testFormulaFloat",".xls");
|
||||
File file = TempFile.createTempFile("testFormulaFloat",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -260,7 +261,7 @@ extends TestCase {
|
||||
|
||||
private void operationRefTest(String operator)
|
||||
throws Exception {
|
||||
File file = File.createTempFile("testFormula",".xls");
|
||||
File file = TempFile.createTempFile("testFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -412,7 +413,7 @@ extends TestCase {
|
||||
*/
|
||||
private void orderTest(String formula)
|
||||
throws Exception {
|
||||
File file = File.createTempFile("testFormula",".xls");
|
||||
File file = TempFile.createTempFile("testFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -450,7 +451,7 @@ extends TestCase {
|
||||
private void binomialOperator(String operator)
|
||||
throws Exception {
|
||||
short rownum = 0;
|
||||
File file = File.createTempFile("testFormula",".xls");
|
||||
File file = TempFile.createTempFile("testFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -548,7 +549,7 @@ extends TestCase {
|
||||
throws Exception {
|
||||
|
||||
short rownum = 0;
|
||||
File file = File.createTempFile("testFormulaAreaFunction"+function,".xls");
|
||||
File file = TempFile.createTempFile("testFormulaAreaFunction"+function,".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -586,7 +587,7 @@ extends TestCase {
|
||||
throws Exception {
|
||||
|
||||
short rownum = 0;
|
||||
File file = File.createTempFile("testFormulaArrayFunction"+function,".xls");
|
||||
File file = TempFile.createTempFile("testFormulaArrayFunction"+function,".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -625,7 +626,7 @@ extends TestCase {
|
||||
throws Exception {
|
||||
|
||||
short rownum = 0;
|
||||
File file = File.createTempFile("testFormulaAreaArrayFunction"+function,".xls");
|
||||
File file = TempFile.createTempFile("testFormulaAreaArrayFunction"+function,".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -664,7 +665,7 @@ extends TestCase {
|
||||
|
||||
|
||||
public void testAbsRefs() throws Exception {
|
||||
File file = File.createTempFile("testFormulaAbsRef",".xls");
|
||||
File file = TempFile.createTempFile("testFormulaAbsRef",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -711,7 +712,7 @@ extends TestCase {
|
||||
{
|
||||
String filename = System.getProperty("HSSF.testdata.path");
|
||||
|
||||
File file = File.createTempFile("testSheetFormula",".xls");
|
||||
File file = TempFile.createTempFile("testSheetFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet("A");
|
||||
@ -743,7 +744,7 @@ extends TestCase {
|
||||
}
|
||||
|
||||
public void testRVAoperands() throws Exception {
|
||||
File file = File.createTempFile("testFormulaRVA",".xls");
|
||||
File file = TempFile.createTempFile("testFormulaRVA",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet();
|
||||
@ -785,7 +786,7 @@ extends TestCase {
|
||||
{
|
||||
String readFilename = System.getProperty("HSSF.testdata.path");
|
||||
|
||||
File file = File.createTempFile("testStringFormula",".xls");
|
||||
File file = TempFile.createTempFile("testStringFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet("A");
|
||||
@ -818,7 +819,7 @@ extends TestCase {
|
||||
throws IOException
|
||||
{
|
||||
|
||||
File file = File.createTempFile("testLogicalFormula",".xls");
|
||||
File file = TempFile.createTempFile("testLogicalFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet("A");
|
||||
@ -847,7 +848,7 @@ extends TestCase {
|
||||
{
|
||||
String readFilename = System.getProperty("HSSF.testdata.path");
|
||||
|
||||
File file = File.createTempFile("testDateFormula",".xls");
|
||||
File file = TempFile.createTempFile("testDateFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet("Sheet1");
|
||||
@ -885,7 +886,7 @@ extends TestCase {
|
||||
{
|
||||
String readFilename = System.getProperty("HSSF.testdata.path");
|
||||
|
||||
File file = File.createTempFile("testIfFormula",".xls");
|
||||
File file = TempFile.createTempFile("testIfFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet("Sheet1");
|
||||
@ -922,7 +923,7 @@ extends TestCase {
|
||||
//assertTrue("expected: A!A1+A!B1 got: "+c.getCellFormula(), ("A!A1+A!B1").equals(c.getCellFormula()));
|
||||
in.close();
|
||||
|
||||
File simpleIf = File.createTempFile("testSimpleIfFormulaWrite",".xls");
|
||||
File simpleIf = TempFile.createTempFile("testSimpleIfFormulaWrite",".xls");
|
||||
out = new FileOutputStream(simpleIf);
|
||||
wb = new HSSFWorkbook();
|
||||
s = wb.createSheet("Sheet1");
|
||||
@ -937,7 +938,7 @@ extends TestCase {
|
||||
|
||||
assertTrue("length of simpleIf file is zero", (simpleIf.length()>0));
|
||||
|
||||
File nestedIf = File.createTempFile("testNestedIfFormula",".xls");
|
||||
File nestedIf = TempFile.createTempFile("testNestedIfFormula",".xls");
|
||||
out = new FileOutputStream(nestedIf);
|
||||
wb = new HSSFWorkbook();
|
||||
s = wb.createSheet("Sheet1");
|
||||
@ -987,7 +988,7 @@ extends TestCase {
|
||||
assertEquals(function, c.getCellFormula());
|
||||
|
||||
|
||||
File file = File.createTempFile("testSumIfFormula",".xls");
|
||||
File file = TempFile.createTempFile("testSumIfFormula",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
wb = new HSSFWorkbook();
|
||||
s = wb.createSheet();
|
||||
|
@ -27,6 +27,7 @@ import org.apache.poi.hssf.record.BOFRecord;
|
||||
import org.apache.poi.hssf.record.EOFRecord;
|
||||
import org.apache.poi.hssf.util.CellReference;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
@ -57,7 +58,7 @@ extends TestCase {
|
||||
throws java.io.IOException {
|
||||
String readFilename = System.getProperty("HSSF.testdata.path");
|
||||
|
||||
File file = File.createTempFile("testBoolErr",".xls");
|
||||
File file = TempFile.createTempFile("testBoolErr",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet("Sheet1");
|
||||
@ -171,7 +172,7 @@ extends TestCase {
|
||||
3, s.getActiveCellRow());
|
||||
|
||||
//write book to temp file; read and verify that position is serialized
|
||||
File temp = File.createTempFile("testActiveCell", ".xls");
|
||||
File temp = TempFile.createTempFile("testActiveCell", ".xls");
|
||||
FileOutputStream fos = new FileOutputStream(temp);
|
||||
book.write(fos);
|
||||
fos.close();
|
||||
@ -195,7 +196,7 @@ extends TestCase {
|
||||
throws java.io.IOException {
|
||||
String readFilename = System.getProperty("HSSF.testdata.path");
|
||||
|
||||
File file = File.createTempFile("testFormulaStyle",".xls");
|
||||
File file = TempFile.createTempFile("testFormulaStyle",".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet s = wb.createSheet("Sheet1");
|
||||
|
@ -26,6 +26,7 @@ import java.util.Map;
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hssf.record.PaletteRecord;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
/**
|
||||
* @author Brian Sanders (bsanders at risklabs dot com)
|
||||
@ -65,7 +66,7 @@ public class TestHSSFPalette extends TestCase
|
||||
palette.setColorAtIndex((short) 0x3b, (byte) 0, (byte) 255, (byte) 52);
|
||||
|
||||
//writing to disk; reading in and verifying palette
|
||||
File temp = File.createTempFile("testCustomPalette", ".xls");
|
||||
File temp = TempFile.createTempFile("testCustomPalette", ".xls");
|
||||
FileOutputStream fos = new FileOutputStream(temp);
|
||||
book.write(fos);
|
||||
fos.close();
|
||||
|
@ -24,6 +24,8 @@ import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
/**
|
||||
* Test HSSFRow is okay.
|
||||
*
|
||||
@ -83,7 +85,7 @@ public class TestHSSFRow
|
||||
assertEquals(0, data[6]);
|
||||
assertEquals(0, data[8]);
|
||||
|
||||
File file = File.createTempFile("XXX", "XLS");
|
||||
File file = TempFile.createTempFile("XXX", "XLS");
|
||||
FileOutputStream stream = new FileOutputStream(file);
|
||||
workbook.write(stream);
|
||||
stream.close();
|
||||
|
@ -32,6 +32,7 @@ import org.apache.poi.hssf.record.VCenterRecord;
|
||||
import org.apache.poi.hssf.record.WSBoolRecord;
|
||||
import org.apache.poi.hssf.record.WindowTwoRecord;
|
||||
import org.apache.poi.hssf.util.Region;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
/**
|
||||
* Tests HSSFSheet. This test case is very incomplete at the moment.
|
||||
@ -165,7 +166,7 @@ public class TestHSSFSheet
|
||||
cell.setCellValue(true);
|
||||
cell = row.createCell((short) 11);
|
||||
cell.setCellValue(true);
|
||||
File tempFile = File.createTempFile("bool", "test.xls");
|
||||
File tempFile = TempFile.createTempFile("bool", "test.xls");
|
||||
FileOutputStream stream = new FileOutputStream(tempFile);
|
||||
workbook.write(stream);
|
||||
stream.close();
|
||||
@ -312,7 +313,7 @@ public class TestHSSFSheet
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
HSSFSheet sheet = wb.createSheet();
|
||||
|
||||
File tempFile = File.createTempFile("display", "test.xls");
|
||||
File tempFile = TempFile.createTempFile("display", "test.xls");
|
||||
FileOutputStream stream = new FileOutputStream(tempFile);
|
||||
wb.write(stream);
|
||||
stream.close();
|
||||
@ -330,7 +331,7 @@ public class TestHSSFSheet
|
||||
sheet.setDisplayRowColHeadings(false);
|
||||
sheet.setDisplayFormulas(true);
|
||||
|
||||
tempFile = File.createTempFile("display", "test.xls");
|
||||
tempFile = TempFile.createTempFile("display", "test.xls");
|
||||
stream = new FileOutputStream(tempFile);
|
||||
wb.write(stream);
|
||||
stream.close();
|
||||
@ -377,7 +378,7 @@ public class TestHSSFSheet
|
||||
assertEquals("row breaks number", 2, sheet.getRowBreaks().length);
|
||||
assertEquals("column breaks number", 2, sheet.getColumnBreaks().length);
|
||||
|
||||
File tempFile = File.createTempFile("display", "testPagebreaks.xls");
|
||||
File tempFile = TempFile.createTempFile("display", "testPagebreaks.xls");
|
||||
FileOutputStream stream = new FileOutputStream(tempFile);
|
||||
wb.write(stream);
|
||||
stream.close();
|
||||
|
@ -26,6 +26,7 @@ import java.io.IOException;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
|
||||
/**
|
||||
@ -105,7 +106,7 @@ public class TestNamedRange
|
||||
SanityChecker c = new SanityChecker();
|
||||
c.checkHSSFWorkbook(wb);
|
||||
|
||||
File file = File.createTempFile("testNamedRange",
|
||||
File file = TempFile.createTempFile("testNamedRange",
|
||||
".xls");
|
||||
|
||||
FileOutputStream fileOut = new FileOutputStream(file);
|
||||
@ -229,7 +230,7 @@ public class TestNamedRange
|
||||
HSSFName namedRange1 = wb.getNameAt(0);
|
||||
String referece = namedRange1.getReference();
|
||||
|
||||
File file = File.createTempFile("testMultiNamedRange", ".xls");
|
||||
File file = TempFile.createTempFile("testMultiNamedRange", ".xls");
|
||||
|
||||
FileOutputStream fileOut = new FileOutputStream(file);
|
||||
wb.write(fileOut);
|
||||
@ -293,7 +294,7 @@ public class TestNamedRange
|
||||
namedRange2.setReference("sheet2" + "!$A$1:$O$21");
|
||||
|
||||
// Write the workbook to a file
|
||||
File file = File.createTempFile("testMuiltipletNamedRanges", ".xls");
|
||||
File file = TempFile.createTempFile("testMuiltipletNamedRanges", ".xls");
|
||||
FileOutputStream fileOut = new FileOutputStream(file);
|
||||
wb.write(fileOut);
|
||||
fileOut.close();
|
||||
@ -401,7 +402,7 @@ public class TestNamedRange
|
||||
String reference = sheetName+"!$A$1:$B$1";
|
||||
workbook.setPrintArea(0, reference);
|
||||
|
||||
File file = File.createTempFile("testPrintArea",".xls");
|
||||
File file = TempFile.createTempFile("testPrintArea",".xls");
|
||||
|
||||
FileOutputStream fileOut = new FileOutputStream(file);
|
||||
workbook.write(fileOut);
|
||||
@ -444,7 +445,7 @@ public class TestNamedRange
|
||||
String reference3 = sheetName+"!$D$2:$F$5";
|
||||
workbook.setPrintArea(2, reference3);
|
||||
|
||||
File file = File.createTempFile("testMultiPrintArea",".xls");
|
||||
File file = TempFile.createTempFile("testMultiPrintArea",".xls");
|
||||
|
||||
FileOutputStream fileOut = new FileOutputStream(file);
|
||||
workbook.write(fileOut);
|
||||
|
@ -21,6 +21,7 @@ package org.apache.poi.hssf.usermodel;
|
||||
import junit.framework.TestCase;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
@ -64,7 +65,7 @@ public class TestSheetShiftRows extends TestCase {
|
||||
|
||||
// Shift the second row down 1 and write to temp file
|
||||
s.shiftRows( 1, 1, 1 );
|
||||
File tempFile = File.createTempFile( "shift", "test.xls" );
|
||||
File tempFile = TempFile.createTempFile( "shift", "test.xls" );
|
||||
FileOutputStream fout = new FileOutputStream( tempFile );
|
||||
wb.write( fout );
|
||||
fout.close();
|
||||
@ -85,7 +86,7 @@ public class TestSheetShiftRows extends TestCase {
|
||||
// Shift rows 1-3 down 3 in the current one. This tests when
|
||||
// 1 row is blank. Write to a another temp file
|
||||
s.shiftRows( 0, 2, 3 );
|
||||
tempFile = File.createTempFile( "shift", "test.xls" );
|
||||
tempFile = TempFile.createTempFile( "shift", "test.xls" );
|
||||
fout = new FileOutputStream( tempFile );
|
||||
wb.write( fout );
|
||||
fout.close();
|
||||
@ -110,7 +111,7 @@ public class TestSheetShiftRows extends TestCase {
|
||||
|
||||
// Shift rows 3 and 4 up and write to temp file
|
||||
s.shiftRows( 2, 3, -2 );
|
||||
tempFile = File.createTempFile( "shift", "test.xls" );
|
||||
tempFile = TempFile.createTempFile( "shift", "test.xls" );
|
||||
fout = new FileOutputStream( tempFile );
|
||||
wb.write( fout );
|
||||
fout.close();
|
||||
|
@ -18,14 +18,7 @@
|
||||
|
||||
package org.apache.poi.hssf.usermodel;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.poi.hssf.model.Workbook;
|
||||
import org.apache.poi.hssf.record.BackupRecord;
|
||||
import org.apache.poi.hssf.record.LabelSSTRecord;
|
||||
@ -33,6 +26,13 @@ import org.apache.poi.hssf.record.Record;
|
||||
import org.apache.poi.hssf.record.aggregates.ValueRecordsAggregate;
|
||||
import org.apache.poi.hssf.util.Region;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.util.TempFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
|
||||
/**
|
||||
* Class to test Workbook functionality
|
||||
@ -81,7 +81,7 @@ public class TestWorkbook
|
||||
public void testWriteSheetSimple()
|
||||
throws IOException
|
||||
{
|
||||
File file = File.createTempFile("testWriteSheetSimple",
|
||||
File file = TempFile.createTempFile("testWriteSheetSimple",
|
||||
".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
@ -127,7 +127,7 @@ public class TestWorkbook
|
||||
public void testWriteModifySheetSimple()
|
||||
throws IOException
|
||||
{
|
||||
File file = File.createTempFile("testWriteSheetSimple",
|
||||
File file = TempFile.createTempFile("testWriteSheetSimple",
|
||||
".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
@ -235,7 +235,7 @@ public class TestWorkbook
|
||||
public void testWriteDataFormat()
|
||||
throws IOException
|
||||
{
|
||||
File file = File.createTempFile("testWriteDataFormat",
|
||||
File file = TempFile.createTempFile("testWriteDataFormat",
|
||||
".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook wb = new HSSFWorkbook();
|
||||
@ -335,7 +335,7 @@ public class TestWorkbook
|
||||
sheet.getRow(( short ) 0).getCell(( short ) 0);
|
||||
|
||||
cell.setCellValue(REPLACED);
|
||||
File destination = File.createTempFile("SimpleResult",
|
||||
File destination = TempFile.createTempFile("SimpleResult",
|
||||
".xls");
|
||||
FileOutputStream outstream = new FileOutputStream(destination);
|
||||
|
||||
@ -381,7 +381,7 @@ public class TestWorkbook
|
||||
cell = sheet.getRow(( short ) 1).getCell(( short ) 0);
|
||||
cell.setCellValue(REPLACED);
|
||||
File destination =
|
||||
File.createTempFile("SimpleWithSkipResult", ".xls");
|
||||
TempFile.createTempFile("SimpleWithSkipResult", ".xls");
|
||||
FileOutputStream outstream = new FileOutputStream(destination);
|
||||
|
||||
workbook.write(outstream);
|
||||
@ -433,7 +433,7 @@ public class TestWorkbook
|
||||
cell.setCellValue(REPLACED);
|
||||
}
|
||||
File destination =
|
||||
File.createTempFile("SimpleWithStylingResult", ".xls");
|
||||
TempFile.createTempFile("SimpleWithStylingResult", ".xls");
|
||||
FileOutputStream outstream = new FileOutputStream(destination);
|
||||
|
||||
workbook.write(outstream);
|
||||
@ -483,7 +483,7 @@ public class TestWorkbook
|
||||
cell.setCellValue(FIRST_NAME_VALUE);
|
||||
cell = sheet.getRow(( short ) 5).getCell(( short ) 2);
|
||||
cell.setCellValue(SSN_VALUE);
|
||||
File destination = File.createTempFile("EmployeeResult",
|
||||
File destination = TempFile.createTempFile("EmployeeResult",
|
||||
".xls");
|
||||
FileOutputStream outstream = new FileOutputStream(destination);
|
||||
|
||||
@ -550,7 +550,7 @@ public class TestWorkbook
|
||||
public void testWriteModifySheetMerged()
|
||||
throws IOException
|
||||
{
|
||||
File file = File.createTempFile("testWriteSheetMerged",
|
||||
File file = TempFile.createTempFile("testWriteSheetMerged",
|
||||
".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
FileInputStream in = null;
|
||||
@ -656,7 +656,7 @@ public class TestWorkbook
|
||||
throws Exception
|
||||
{
|
||||
String testName = "TestManyRows";
|
||||
File file = File.createTempFile(testName, ".xls");
|
||||
File file = TempFile.createTempFile(testName, ".xls");
|
||||
FileOutputStream out = new FileOutputStream(file);
|
||||
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||
HSSFSheet sheet = workbook.createSheet();
|
||||
@ -704,7 +704,7 @@ public class TestWorkbook
|
||||
|
||||
workbook.setRepeatingRowsAndColumns(0, 0, 1, 0, 0);
|
||||
|
||||
File file = File.createTempFile("testPrintTitles",".xls");
|
||||
File file = TempFile.createTempFile("testPrintTitles",".xls");
|
||||
|
||||
FileOutputStream fileOut = new FileOutputStream(file);
|
||||
workbook.write(fileOut);
|
||||
|
41
src/testcases/org/apache/poi/util/TestTempFile.java
Normal file
41
src/testcases/org/apache/poi/util/TestTempFile.java
Normal file
@ -0,0 +1,41 @@
|
||||
/* ====================================================================
|
||||
Copyright 2002-2004 Apache Software Foundation
|
||||
|
||||
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.
|
||||
==================================================================== */
|
||||
package org.apache.poi.util;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
|
||||
/**
|
||||
* @author Glen Stampoultzis
|
||||
*/
|
||||
public class TestTempFile extends TestCase {
|
||||
TempFile tempFile;
|
||||
|
||||
public void testCreateTempFile()
|
||||
throws Exception
|
||||
{
|
||||
File tempFile = TempFile.createTempFile("test", ".txt");
|
||||
FileWriter w = new FileWriter(tempFile);
|
||||
w.write("testing");
|
||||
w.close();
|
||||
assertTrue(tempFile.exists());
|
||||
assertEquals("poifiles", tempFile.getParentFile().getName());
|
||||
|
||||
// Can't think of a good way to check whether a file is actually deleted since it would require the VM to stop.
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user