private void printFile (String filename) {
		try {
			
			byte[][] data = null;
			//Check ring of trust first
			File file = null; //folder
			File file2 = null; //file
			file2 = new File("./ServerFiles/" + filename);
			file = new File("./ServerSignatures/" + file2.getAbsolutePath().replaceAll("[^\\p{L}\\p{Z}]",""));
			int ringSize = 0;
			if(file.isDirectory()){
				//grab the first signature there
				// Get list of contents as string[]
				File[] fileList = file.listFiles();
				ArrayList<String> fileNamesList = new ArrayList<String>();
				for(File f: fileList) {
					fileNamesList.add(f.getName());
					}
				String[] fileNames = fileNamesList.toArray(new String[fileNamesList.size()]);
				String[] parts = fileNames[0].split("_");
				
				String voucher = parts[1].substring(0, parts[1].lastIndexOf('.'));
				
				File cert = new File("./ServerCertificates/" + voucher + ".cer");
				if(file.exists()){
					ringSize = CertTest.getROTDiameter(cert.getName());
					if(ringSize >= sessionCirc){
						// store data from fetchFile
						data = fetchFile(filename);
						System.out.println("Client: Contents of file '" + filename + "' read as a String:");
						System.out.println();
						// read the data into string
						String[] strings = Message.dataToStringArray(data);

						// print the string
						for(String s: strings) {
							System.out.print(s);
						}
						System.out.println();
					}
					else{
						System.out.println("Ring is smaller than required. Required = " + sessionCirc + ", Actual = " + ringSize + ".");
					}
				}
				else{
					throw new FileNotFoundException("Could not find cert for " + voucher);
				}
			}
			else{
				System.out.println("File is unsigned, no Ring exists");
			}
			
			
			
		} catch (FileNotFoundException FNFe) {
			System.out.println("ERROR: File '"+ filename +"' was not be found on the server.");
			FNFe.printStackTrace();
		} catch (IOException IOe) {
			IOe.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
	}